【问题标题】:Javascript local file saving or onSave event to get saved filenameJavascript 本地文件保存或 onSave 事件以获取保存的文件名
【发布时间】:2011-11-17 19:02:38
【问题描述】:

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

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

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

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

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

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

任何帮助将不胜感激!

【问题讨论】:

  • 简短的回答是No

标签: javascript filesystems fileapi


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2015-07-28
    • 2012-06-19
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多