2013-03-04 59 views
10

在最新的最新浏览器(支持html5)中实现以下功能的最佳方式是什么?我主要针对Google Chrome。Javascript将数据保存到文件系统(使用用户提示)

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

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

  1. https://github.com/eligrey/FileSaver.js
  2. a.download(http://html5-demos.appspot.com/static/a.download.html
  3. 网络文件系统
  4. 对象的URL

FILESERVER回落到2,3,4,如果没有原生支持,我可以用它。但是,我找不到打开另存为对话框的方法。它只是将文件保存在默认位置(在mac中下载文件夹)。

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

谢谢。

+1

它是什么类型的文件。通常您只需使用正确的标题将其输出到浏览器,并且浏览器会为您保存另存为对话框。 – 2013-03-04 22:22:23

+0

说,一个js对象,它将在保存时序列化为csv/json。 – bsr 2013-03-04 22:23:08

+0

http://stackoverflow.com/questions/4639372/export-to-csv-in-jquery – 2013-03-04 22:25:16

回答

3

我同意Nathan Hayfield。浏览器将为您处理保存对话框。设置标题Content-Disposition会将响应作为附件发回,浏览器将从那里处理它。 例如。

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