简单的HTML5拖放文件网站网站,其中拖放的文件
我想创建一个HTML5网站,用户只需放下文件,然后按“提交”按钮,这是一个JavaScript函数创建的拖放文件的.zip存档。简单的HTML5拖放文件网站网站,其中拖放的文件
我的问题是:这是否可能没有上传删除的文件在网站上,但只使用保存的文件路径(即“c:\ test \ droppedfile1.exe”,“c:\ test \ droppedfile2。 exe“) 并在本地文件夹中创建.zip文件?
不,它不是纯HTML/JS。 HTML/JS无法访问您的硬盘。实际上,当您使用文件上传框时,value
设置为C:/fakepath/nameoffile.ext
(其中nameoffile.ext
是磁盘上的文件名)。
如果您拖放或复制粘贴文件,它们会变成斑点。在这种情况下,原始文件路径完全被破坏 - 它变成类似blob://lots-and-lots-of-gibberish
的东西。
因此不,HTML/JS不提供任何方法从上载或从提供的文件路径上传文件路径。
但是,在Chrome上,有HTML5 filesystem API,这可能会有所帮助。 Here's a tutorial on it。
请注意,这将需要额外的权限,并且不会在其他浏览器上工作。
使用File API,您可以在选定的文件中读取数据。你不能得到他们的路径,但你可以读取上传框(或拖放文件)中选择的文件中的数据,并使用你的JS函数压缩文件。
如果浏览器支持Filesystem API,则文件路径可用。 – 2013-04-08 15:11:21
@RayNicholus - 他们什么时候提取该API的每个Web应用程序沙盒限制? – Quentin 2013-04-08 15:13:04
@RayNicholus:包括,但它并没有真正准备好使用网站(因为只有铬的东西) – Manishearth 2013-04-08 15:14:27
不,您不能在本地文件夹中创建zip文件。浏览器不会显示JavaScript代码的实际路径名。但是,您可以使用HTML5文件API来读取文件,并且可以即时构建zip文件,前提是您已经拥有适当的JavaScript代码。 – Pointy 2013-04-08 15:06:23