0

我正在开发一个需要某种文件系统访问权限的网络应用程序。理想情况下,我希望能够将文件“打开...”到应用程序中,然后将文件“保存”回用户打开它的位置的本地文件系统。

目前,我们使用 java 小程序来实现此功能,但由于 java 已经过时,我们需要使用 javascript 和 html5 来实现。

显然,由于浏览器内置的安全原因,这无法完成,所以我试图在某种程度上模仿它。

我正在使用 html5 文件 api 成功导入/打开文件,这样就成功了一半。困难的部分是获得保存功能。我正在接近使用 iframe 和内容处置,但是当浏览器设置为自动将文件下载到下载文件夹时会出现问题......用户可能会感到困惑并且无法找到他们刚刚下载的文件。

所以,我的问题是:浏览器的“另存为...”窗口是否有某种 onSave 事件或某种方式至少返回用户保存文件的文件名?

另外,我查看了 filesystem/fileWriter html5 api,但据我了解,它们仅限于本地文件系统的沙盒区域,并且仅在 chrome dev 版本中可用。

任何帮助,将不胜感激!

4

1 回答 1

1

不,纯 JavaScript 无法做到这一点。您可以设法使用数据 URI 或带有某些标头的 iframe 触发下载,但您无法绕过浏览器的下载管理器。

您可以使用 Flash 或 Java 小程序为您处理保存,或者要求用户右键单击链接并另存为,然后他也许可以选择目的地。

使用 Flash 的一个流行选项是Downloadify

于 2011-11-17T19:05:34.003 回答