10

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

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

我看到saveAs还没有原生支持。通过我的研究,我看到的选择很少。

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

如果没有本机支持,FileServer 会回退到 2、3、4,我可能会使用它。但是,我找不到打开另存为对话框的方法。它只是将文件保存在默认位置(mac 中的下载文件夹)。

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

谢谢。

4

1 回答 1

4

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

content.Headers.Add("Content-Disposition", "attachment; filename=export.csv");
于 2013-07-24T19:52:46.593 回答