简单的HTML5拖放文件网站网站,其中拖放的文件

问题描述:

我想创建一个HTML5网站,用户只需放下文件,然后按“提交”按钮,这是一个JavaScript函数创建的拖放文件的.zip存档。简单的HTML5拖放文件网站网站,其中拖放的文件

我的问题是:这是否可能没有上传删除的文件在网站上,但只使用保存的文件路径(即“c:\ test \ droppedfile1.exe”,“c:\ test \ droppedfile2。 exe“) 并在本地文件夹中创建.zip文件?

+0

不,您不能在本地文件夹中创建zip文件。浏览器不会显示JavaScript代码的实际路径名。但是,您可以使用HTML5文件API来读取文件,并且可以即时构建zip文件,前提是您已经拥有适当的JavaScript代码。 – Pointy 2013-04-08 15:06:23

不,它不是纯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函数压缩文件。

+0

如果浏览器支持Filesystem API,则文件路径可用。 – 2013-04-08 15:11:21

+0

@RayNicholus - 他们什么时候提取该API的每个Web应用程序沙盒限制? – Quentin 2013-04-08 15:13:04

+0

@RayNicholus:包括,但它并没有真正准备好使用网站(因为只有铬的东西) – Manishearth 2013-04-08 15:14:27

,而你不能直接从FS读取文件,放置事件也让您阅读文件源(在therory)管的内容Jszip,然后让用户“下载”的zip文件

Here是和html5拖放演示,显示读取图像文件时无法访问客户端路径或将文件上传到服务器

+0

这是你引用的一个非常有趣的插件。不知道为什么有人低估了这一点。 – 2013-04-08 15:18:56

+0

对于谁低估了这个,你能提一下你为什么这么做吗?也许我在这里错过了一些东西。 – 2013-04-08 15:25:15