将用JavaScript生成的二进制文件保存到iPad

Save binary file generated in JavaScript to iPad

本文关键字:保存 iPad 二进制文件 JavaScript 将用      更新时间:2023-09-26

我正在开发一个可以离线使用的web应用程序。在其他功能中,它应该能够将带有用户创建的数据的二进制文件保存到设备中。特别是,在iPad上,它应该允许下载文件并获得"打开…"对话框,例如将文件保存到Dropbox。可能的浏览器有Safari和Chrome(在iPad上)如何从JavaScript中做到这一点

这个问题——使用HTML5/Javascript生成和保存文件——提供了许多食谱。我试过这个-https://stackoverflow.com/a/19230609/404099-它允许在另一个选项卡中打开text文件。唉-无法保存到Dropbox,也无法使用二进制文件。

https://github.com/eligrey/FileSaver.js图书馆的工作原理也是一样的。文本文件在另一个选项卡中打开,二进制文件不起作用。例如:

var blob = new Blob(["Hello, world!"], {type: "application/octet-stream"});
saveAs(blob, "hello-world.dat");

由于这个问题引起了一些关注,但没有答案,我想分享一个部分答案,这就是我最终要做的。我还没有找到一种方法来触发二进制文件的"在…中打开"对话框。因此,我的解决方案是直接使用Dropbox API将文件保存到用户的Dropbox帐户。工作架构为:

  • 具有用于脱机使用的应用程序缓存的网站(该标准已弃用)
  • 用于本地数据存储的Web SQL(该标准已弃用)
  • Dropbox API用于将数据文件保存在一边,并跟踪其他应用程序中的使用情况。任何其他云存储解决方案都可以在这里使用