1

使用 JavaScript 我需要在后台下载一个二进制文件,然后修改这样的二进制数据(一些内部处理),最后提供一个客户端将这样的文件保存到本地驱动器。

请告知我应该使用哪种方法。

4

1 回答 1

2

如果您想在客户端处理数据,您可以在最后对您的数据进行 Base64 编码并构造一个 A 元素并为属性提供一个data-uriMIME 类型集。href

要下载数据,您可以使用 AJAX(使用 jQuery 或直接使用 jQuery,如果 jQuery 不是一个选项)。在此处显示jQuery 示例

$.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通用二进制文件)。

为 -tag提供一个download属性A将允许用户在单击链接时下载数据(如果他使用支持 html5 的浏览器)。

如果您希望这种情况自动发生,您可以隐藏 a 元素并生成点击:
是否可以通过 JavaScript 触发链接(或任何元素)的点击事件?

有关 data-uris 的详细信息:
https ://en.wikipedia.org/wiki/Data_URI_scheme

于 2013-06-16T20:57:06.530 回答