2012-10-23 20 views
4

我想让用户选择一个目录(我在其中解析一些文本文件),并将result(List<File>)存储在同一个客户端的PERSISTENT存储中,以便当用户返回时,不需要选择相同的目录再次。如何存储输入(webkit目录)的结果供以后使用?

在会话期间选择目录(通过<input webkitdirectory="..." />),然后访问目录并解析文件已经正常工作,但我不知道要保存什么样的数据以便稍后检索。我尝试过使用window.webkitResolveLocalFileSystemURL(),但目前为止还没有成功......任何想法?

+0

如果你详细说明了一些细节,这会很有帮助。 –

+0

预期的工作流程如下:我只关注* re * - 访问所选目录中的文件 – rudy

+0

除非a)文件位于本地存储中,否则不能这样做b)选择相同的目录。对不起,我没有制定规则,我只是把它们指出来;) –

回答

4

好了,让你在使用类似:

<input type="file" id="file-input" webkitdirectory="" directory=""> 

这让用户上传的目录。粗略地说,下面是获取上传文件列表的代码:

query("#file-input").on.change.add((e) { 
    print(e.target.files); 
}); 

听起来你已经想出了那部分。

真的,你只是得到一个文件列表。我看着e.target,我不认为这里有什么与目录本身有关的东西。例如,我没有看到有关目录名的任何信息,也不像你突然拥有对该目录的写入权限。在下次用户加载页面时,您也无法从该目录上传文件,而无需再次选择该目录。

但是,您可以做的是从该目录上传文件,并使用本地文件存储在本地保存这些文件的副本

参见:

顺便说一句,我知道我是不是能够达到你想要什么,但如果你同意我的回答,请接受它。如果我在Stack Overflow上回答100个问题,我的老板答应给我买一只小狗;)

+0

嗨香农,谢谢你的答复,不幸的是它不会带来任何进一步的,因为避免上传文件正是我正在寻找,但感谢您的时间:-) – rudy

+0

您不必上传文件到服务器。 “使用HTML5文件系统API”p。 20-21显示了如何将文件复制到本地存储。因此,您不必将文件实际上传到服务器,但不能只读取/写入用户硬盘上的任何位置。我希望能够解决问题。 –

相关问题