使用JavaScript我需要在后台下载二进制文件,然后修改这些二进制数据(一些内部处理),最后提供客户端将此类文件保存到本地驱动器。
请告知我应该采用什么样的方法。
答案 0 :(得分:2)
如果要在客户端处理数据,可以在最后对数据进行Base64编码并构造A元素,并为data-uri
属性提供href
的MIME类型集
要下载数据,您可以使用AJAX(使用jQuery或直接使用jQuery)。在这里显示jQuery example:
$.ajax({
url: "pageThatProvidesBinaryData.html",
context: document.body
}).done(function(data) {
processData(data);
});
(处理二进制数据时要注意编码)。
处理数据,然后你可以使用(html5):
<a href="data:my/mime;charset=uft-8;base64,<your-data>" download="Filename.ext">
Click to download</a>
将my/mime
替换为实际类型(即。application/octet-stream
以获取通用二进制文件。)
为download
- 标记提供A
属性将允许用户在点击链接时下载数据(如果他使用启用了html5的浏览器)。
如果您希望自动执行此操作,可以隐藏a元素并生成单击:
Is it possible to trigger a link's (or any element's) click event through JavaScript?
有关data-uris的详细信息:
https://en.wikipedia.org/wiki/Data_URI_scheme