我支持网站开发工作。根据请求将两个二进制文件下载到客户端浏览器。这两个文件可以来自两个不同的来源。
要求是将两个文件连接成一个文件。用 JavaScript 创建单个文件并编写第一个下载的内容,然后再编写第二个下载的内容也是可以接受的。
这在 JavaScript 中使用 FileAPI 可行吗?或任何其他相关的 API?
我是否需要探索 Chrome/Firefox Extension 才能达到同样的目的?
最佳答案
我不确定您要做什么,但如果我理解正确,您可以将文件存储到 ArrayBuffers
中,然后合并它们:
/**
* Creates a new Uint8Array based on two different ArrayBuffers
*
* @private
* @param {ArrayBuffers} buffer1 The first buffer.
* @param {ArrayBuffers} buffer2 The second buffer.
* @return {ArrayBuffers} The new ArrayBuffer created out of the two.
*/
var _appendBuffer = function(buffer1, buffer2) {
var tmp = new Uint8Array(buffer1.byteLength + buffer2.byteLength);
tmp.set(new Uint8Array(buffer1), 0);
tmp.set(new Uint8Array(buffer2), buffer1.byteLength);
return tmp.buffer;
};
来源:https://gist.github.com/72lions/4528834
Here您可以阅读有关 ArrayBuffers
的更多信息,您绝对应该查看 MDN 的 Sending and Receiving Binary Data
关于Javascript 下载多个文件并连接成一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961399/