我需要让用户下载从容纳于伸展一些数据动态创建一个文件,但我不想做这个服务器端。

作为一个真实的例子:有包含文本“世界你好”的变量。我希望用户能够下载/创建包含这样一个文本文件.TXT

,可以吗?

-edited二〇一〇年十月三十○日 -

解决方案到目前为止:

<强> window.saveAs - 在所有的

不工作

<强> createObjectURL - 工程,但文件名和其他选项还不能定制

复制数据到剪贴板 - 工程,但太多的步骤都需要用户

创建GoogleDocs文件 - 可以工作,但需要与API和OAuth搞乱

-edited 2011年4月15日

状的东西看起来是改善: https://github.com/eligrey/FileSaver.js

但是,铬14+仍然有点不可思议约文件名。

有帮助吗?

解决方案

我觉得唯一的办法就是通过Flash保存对话框打电话,看 Downloadify 库。

其他提示

在铬的扩展谷歌组我发现这个工作实施例:(I有它修饰以工作从弹出)

BuiltBlob = new BlobBuilder(""); 
BuiltBlob.append("Hello, world"); 
BlobToSave = BuiltBlob.getBlob(); 
chrome.tabs.create({'url': createObjectURL(BlobToSave), 'selected': false});

但是文件名没有被设置,与类似cf8a56bf-d724-4b97-b10f-e252961135bd结束

在所述的W3C文档( HTTP:// dev的。 w3.org/2009/dap/file-system/file-writer.html )我找到这个的不工作示例:

var bb = new BlobBuilder(); 
bb.append("Lorem ipsum"); 
var fileSaver = window.saveAs(bb.getBlob(), "test_file"); 
fileSaver.onwriteend = myOnWriteEnd; 

window.saveAs似乎不存在。

Googleing左右,我发现谷歌已经过时齿轮引用,但没有别的,也许是因为我负责的东西太多新的有适当的文件?

是否有一种方法来设置的文件名/ MIME类型第一示例

我不认为这是可能的,因为安全原因

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top