有没有办法以编程方式从服务器下载文件(用户单击网络应用程序中的保存按钮),浏览器(支持文件 API)或设备将下载文件并将其保存在沙盒文件系统中?我正在查看 HTML5 文件 API。我可以创建或修改文件并存储它,但首先我需要从服务器获取文件。简单地说,我想避免另存为弹出窗口,并且我希望文件保留在 Web 应用程序的沙盒文件系统中。 欢迎任何我能看到的建议。
您想要 XMLHttpRequest(),尽管它的名字如此,但它可以处理下载所有类型的数据,包括二进制数据。如果将responseType设置为“arraybuffer”,则可以将其转换为blob并将其轻松保存到文件系统。
HTML5Rocks 有一个很棒的教程,应该涵盖您需要的一切: XMLHttpRequest 中的新技巧
(我知道这个问题有点老了,但我只是在寻找如何做同样的事情,这是弹出的第一个结果,所以我想我会分享)
下载文件最简单的方法就是
window.open
其 URL。这将提示用户选择保存文件的位置。
除此之外,你无能为力;浏览器非常仔细地保护用户的文件系统。
Origin 私有文件系统 (OPFS) 正是您所寻找的。 https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system
源私有文件系统 (OPFS) 是作为文件系统 API 的一部分提供的存储端点,它对于页面源是私有的,并且像常规文件系统一样对用户不可见。