Javascript将数据保存到文件系统(带有用户提示)

时间:2013-03-04 22:20:12

标签: javascript html5 google-chrome

在最新的最新浏览器中实现以下功能的最佳方式是什么(支持html5)。我主要针对谷歌浏览器。

在我的应用程序中,数据是通过javascript操作的,需要使用浏览器提示将输出写入文件系统(另存为对话框)。我不确定写入文件系统的安全限制,但我不打算匿名写入(但提示用户,并选择位置)。

我看到saveAs尚未原生支持。根据我的研究,我看到的选择很少。

  1. https://github.com/eligrey/FileSaver.js
  2. a.download(http://html5-demos.appspot.com/static/a.download.html
  3. 网络文件系统
  4. 对象网址
  5. 如果没有本机支持,FileServer可以回退到2,3,4,我可以使用它。但是,我找不到打开“另存为”对话框的方法。它只是将文件保存在默认位置(在mac中下载文件夹)。

    您会使用哪个选项在最新浏览器中获得良好支持? 如何打开“另存为”对话框并让用户为该文件命名。

    感谢。

1 个答案:

答案 0 :(得分:4)

我同意内森·海菲尔德的观点。浏览器将为您处理保存对话框。设置标题Content-Disposition会将响应作为附件发回,浏览器将从那里处理它。 例如

content.Headers.Add("Content-Disposition", "attachment; filename=export.csv");