Html Chrome扩展:下载/导出创建的内容;“在飞行中”;

Html Chrome扩展:下载/导出创建的内容;“在飞行中”;,html,download,google-chrome-extension,Html,Download,Google Chrome Extension,我需要让用户下载从扩展中包含的一些数据动态创建的文件,但我不想在服务器端执行此操作 作为一个真实的例子:有一个变量包含文本“helloworld”。我希望用户能够下载/创建包含此类文本的.TXT文件 可能吗 -2010年10月30日编辑- 迄今为止的解决办法: 窗口。另存为-根本不工作 createObjectURL-工作正常,但文件名和其他选项还不能自定义 将数据复制到剪贴板-工作正常,但用户需要执行太多步骤 创建一个GoogleDocs文档-可以工作,但需要修改API和Oauth -2011

我需要让用户下载从扩展中包含的一些数据动态创建的文件,但我不想在服务器端执行此操作

作为一个真实的例子:有一个变量包含文本“helloworld”。我希望用户能够下载/创建包含此类文本的
.TXT
文件

可能吗

-2010年10月30日编辑-

迄今为止的解决办法:

窗口。另存为-根本不工作

createObjectURL-工作正常,但文件名和其他选项还不能自定义

将数据复制到剪贴板-工作正常,但用户需要执行太多步骤

创建一个GoogleDocs文档-可以工作,但需要修改API和Oauth

-2011年4月15日编辑

看来情况正在好转:


但是Chrome 14+在文件名方面仍然有点奇怪。

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

在Chrome extensions Google小组中,我发现了这个工作示例:(我已经修改它,从弹出窗口开始工作)

但是没有设置文件名,以类似于
cf8a56bf-d724-4b97-b10f-e252961135bd的内容结尾

在W3C文档()上,我发现这个不起作用示例:

var bb = new BlobBuilder(); 
bb.append("Lorem ipsum"); 
var fileSaver = window.saveAs(bb.getBlob(), "test_file"); 
fileSaver.onwriteend = myOnWriteEnd; 
但是
window.saveAs
似乎不存在

在谷歌上到处搜索,我发现了过时的Google Gears参考资料,但没有其他东西,也许是因为我处理的东西太新,没有合适的文档


有没有办法将文件名/mime类型设置为第一个示例?

我认为唯一的办法是通过flash调用save dialog,请参阅library。

几个小时前,我不知道如何处理这个问题,现在我已经有了两种方法,谢谢!我终于测试了Downloadify,但由于flash安全沙盒,它无法工作。文档中写道:“重要!swf仅为在线使用而编译。从文件路径(即:file://)进行测试将不起作用,因为这将违反安全性沙盒。”我也不能使用Blob选项,因为它只在最新的Chrome开发版本中起作用,因此目前我无法向扩展用户提供任何导出功能…:(下载的最后一个副本可在Web Archive上获得:它反过来指的是,HTML5甚至还没有作为规范完成,更不用说准备在Web上全面实现了。不幸的是,HTML5是“下一件大事”,只是有点太早了。难怪文件编写器还不能工作。你可以随时检查HTML5test以查看w。)到目前为止,您的浏览器支持什么。这是一个安全隐患。它的安全性不可能比从远程服务器下载任意二进制文件(这是普遍允许的)更差。嘿,您找到如何做到这一点了吗?我认为最简单也是目前最现代的方法如下所述:
var bb = new BlobBuilder(); 
bb.append("Lorem ipsum"); 
var fileSaver = window.saveAs(bb.getBlob(), "test_file"); 
fileSaver.onwriteend = myOnWriteEnd;