你能用Chrome 8写文件吗?

gre*_*ghz 10 javascript html5 google-chrome fileapi

我想知道,如果在Chrome中公开新的File API(我现在不关心跨浏览器支持),那么可以回写通过文件输入打开的文件.

你可以看到我在这里要完成的一个例子:http://www.grehz.com/ide.

我知道我可以使用服务器端脚本动态创建文件并允许用户正常下载它们.我希望有一种方法可以实现这个纯粹的客户端.我读过你可以写入通过文件输入打开的文件的地方.虽然我已经看到传递对FileWriter类的引用,但我还是找不到任何这样的例子.

如果这是不可能的话,我会完全不会感到惊讶(这似乎存在安全问题).只是寻找一些指导或资源.

更新:

我在这里阅读:http://dev.w3.org/2009/dap/file-system/file-writer.html

正如我在Chrome中玩的那样,看起来FileSaver和FileWriter没有实现,但是BlobBuilder是.我可以在BB对象上调用getBlob(),有没有什么方法可以在没有FileSaver或FileWriter的情况下保存它?

UPDATE2:

我在Chromium项目中发现了这个问题:http://code.google.com/p/chromium/issues/detail?id = 65615&q = FileSaver&cfpec = ID%20Stars%20Pri%20Area%20Feature%20Type%20Status%20Summary%20Modified %20Owner%20Mstone%20OS

所以很明显它还没有在任何版本中实现(但是,没有提到FileWriter - 尽管我认为FileWriter依赖于FileSaver).

远离那个,我正在考虑一个服务器端解决方案.当用户单击"保存"时,textarea的内容将发布到脚本,然后该脚本将写入页面并以明文或任何适合用户下载的mime类型发回.还有其他建议吗?这个解决方案适用于"另存为",但它作为通用保存按钮有点笨重.

cri*_*aig 4

来自: http: //code.google.com/p/chromium/issues/detail? id=58985#c7

文件系统确实是存储大文件的正确位置(听起来您正在做的事情)并且在 Chrome 9 中可用。我建议您查看这些替代方案。

请注意左上角的not -extensions 标签。听起来这可能只适用于 Chromium 操作系统。我给发表此评论的开发人员 Jeremy 发送了电子邮件以求澄清。

更新: Jeremy 回答说,扩展实际上可以访问文件 API,包括写入,但它将被限制在沙箱中。他还链接到有关此事的一些未部署的文档: http://code.google.com/p/html5rocks/source/browse/www.html5rocks.com/content/tutorials/file/filesystem/index.html ?spec=svn1cbb2aab2d6954a56f3067d2d3b9e997215be441&r =1cbb2aab2d6954a56f3067d2d3b9e997215be441