【问题标题】:Can you write files in Chrome 8?您可以在 Chrome 8 中写入文件吗?
【发布时间】:2010-12-25 20:32:27
【问题描述】:

我想知道,随着 Chrome 中公开的新文件 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 的情况下保存它?

更新2:

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

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

除此之外,我正在考虑使用服务器端解决方案。当用户单击保存时,textarea 的内容被发布到脚本,然后写入页面并以纯文本或任何适合用户下载的 mime 类型发回。还有其他建议吗?此解决方案适用于“另存为”,但作为通用保存按钮有点笨拙。

【问题讨论】:

    标签: javascript html google-chrome fileapi


    【解决方案1】:

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

    FileSystem 确实是正确的地方 存储大文件(这就是它 听起来像你在做)并且是 在 Chrome 9 中可用。我建议你 看看这些替代品。

    注意左上角的 not-extensions 标签。听起来这可能只适用于 Chromium OS。我向发表此评论的开发人员 Jeremy 发送了电子邮件以进行澄清。

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

    【讨论】:

    • 我正在考虑做这样的事情。它实际上 用于 Chromium OS。我很幸运地收到了一辆 Cr-48。我注意到的第一件事是缺乏像样的 IDE。所以我开始研究它。读写本地文件希望不会是终点......我最终需要 ftp 或其他远程类型的解决方案。
    • 酷,我正在专门开发 CSS 编辑器。我也在考虑远程的东西。目前,我正在使用 localStorage 和 web-sql 存储。最终我可能会做一个 CDN 类型的远程保存服务。如果您对自己的东西有任何疑问,请告诉我(craigquiter+so on gmail)。
    【解决方案2】:

    在实施这些 api 之前,我不知道如何保存 - 这可能需要一段时间。

    【讨论】:

    • “可能要休息一段时间”——还有什么更具体的吗?我为 FileSaver 发现了一个未分配的错误,所以我假设它的优先级较低。也许这与围绕此特定功能的辩论数量有关?
    猜你喜欢
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多