【发布时间】:2013-02-19 04:07:12
【问题描述】:
在最新的浏览器(支持 html5)中实现以下目标的最佳方法是什么。我主要针对谷歌浏览器。
在我的应用程序中,数据是通过 javascript 操作的,需要通过浏览器提示(另存为对话框)将输出写入文件系统。我不确定写入文件系统的安全限制,但我不打算匿名写入(但会提示用户并选择位置)。
我看到 saveAs 还没有原生支持。根据我的研究,我看到的选择很少。
- https://github.com/eligrey/FileSaver.js
- a.download (http://html5-demos.appspot.com/static/a.download.html)
- 网络文件系统
- 对象网址
如果没有本机支持,FileServer 会回退到 2、3、4,我可以使用它。但是,我找不到打开另存为对话框的方法。它只是将文件保存在默认位置(mac 中的下载文件夹)。
您会使用哪个选项在最新的浏览器中获得良好的支持? 如何打开“另存为”对话框并让用户命名文件。
谢谢。
【问题讨论】:
-
它是什么类型的文件。通常,您只需将其输出到具有正确标题的浏览器,浏览器就会为您处理另存为对话框。
-
说,一个js对象,保存后会序列化为csv/json。
-
由于您的主要目标是 Google Chrome,5º 选项是让您的应用程序成为 Chrome Package App 并使用
chrome.fileSystemAPI。 -
在 Google Chrome(目前没有其他浏览器)中,您可以在链接 (
<a href="rec.csv" download="save_name.csv">) 上设置download属性。但是,这不使用提示;它直接下载到用户的下载文件夹。
标签: javascript html google-chrome