【发布时间】:2013-09-12 11:35:03
【问题描述】:
我有一种情况,我需要让我的用户选择将本地存储在其客户端内存中的一些数据保存到磁盘。我目前的解决方法是有一个这样的处理程序
(define-handler (download-deck) ((deck :json))
(setf (header-out :content-type) "application/json"
(header-out :content-disposition) "attachment")
deck)
这正是它看起来的样子。客户端发送他们的数据,并将返回的文件保存在本地。
这似乎很愚蠢。
拜托,拜托告诉我,有一种更好、更简单、跨浏览器的方法可以让客户通过文件保存对话框将一些本地数据保存到他们的磁盘上。
我读到的关于该主题的每个答案要么说“不,你不能用 javascript 保存文件”,要么是“是的,Chrome API 有一个半文档化的部分可以让你在三页内完成”。
【问题讨论】:
-
这可能会有所帮助:github.com/eligrey/FileSaver.js
-
您是否考虑过改用
localStorage? diveintohtml5.info/storage.html 不完全涉及文件,但您也应该能够保存和检索数据。 -
@Dave - 不支持 Conkeror,但我想这要求有点多:P。否则,跨浏览器、符合 HTML5 且简单(我已经实现了)。我喜欢;如果这是一个答案,我会接受它。
-
@icedwater - 遗憾的是,文件只是重点。我正在构建一个桌面原型工具,我希望用户能够在不涉及任何特定服务器的情况下分发他们的数据。不过这看起来确实很有趣。
-
啊,所以拥有这些文件的目的是为了以后可以共享数据。明白了。
标签: javascript file save download