Javascript本地文件保存或onSave事件获取保存的文件名

Javascript local file saving or onSave event to get saved filename

本文关键字:保存 事件 获取 文件名 onSave 文件 Javascript      更新时间:2023-09-26

我正在开发一个需要某种文件系统访问的web应用程序。理想情况下,我希望能够"打开…"一个文件到应用程序中,然后"保存"该文件到用户打开它的位置的本地文件系统。

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

显然,由于浏览器内置的安全原因,这是无法做到的,所以我试图模仿它。

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

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

此外,我已经研究了文件系统/fileWriter html5 api,但据我所知,它们仅限于本地文件系统的沙盒区域,并且仅在chrome开发版本中可用。

任何帮助将不胜感激!

不,没有办法用纯JavaScript做到这一点。你可以使用数据uri或带有一些头的iframe来触发下载,但你无法绕过浏览器的下载管理器。

您可以使用Flash或Java applet来为您处理保存,或者要求用户右键单击链接并将其保存为,然后他可能可以选择目的地。

使用Flash的一个常用选项是download .