我正在开发一个可以脱机使用的Web应用程序。在其他功能中,它应该能够将具有用户创建的数据的二进制文件保存到设备。特别是,在iPad上它应该允许下载文件并获得一个" Open In ..."对话框,例如将文件保存到Dropbox。可能的浏览器是Safari和Chrome(在iPad上)。 如何从JavaScript中执行此操作?
这个问题 - Using HTML5/Javascript to generate and save a file - 提供了许多食谱。我已尝试过此操作 - https://stackoverflow.com/a/19230609/404099 - 并允许在另一个标签页中打开文本文件。唉 - 无法保存到Dropbox并且无法使用二进制文件。
https://github.com/eligrey/FileSaver.js库的工作方式相同。文本文件在另一个选项卡中打开,二进制文件不起作用。 E.g:
var blob = new Blob(["Hello, world!"], {type: "application/octet-stream"});
saveAs(blob, "hello-world.dat");