Javascript 下载多个文件并连接成一个文件

标签 javascript

我支持网站开发工作。根据请求将两个二进制文件下载到客户端浏览器。这两个文件可以来自两个不同的来源。

要求是将两个文件连接成一个文件。用 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/

相关文章:

javascript - 如何用JavaScript隐藏 ":before"伪选择器

javascript - 如何以声明方式创建自定义 HTML 元素?

javascript - JQuery 自定义灯箱 - 不透明度淡入淡出

javascript - 检查 JSON 对象是否包含某些值的良好且快速的方法

javascript - Dart:从字符串创建方法

javascript - 跨子域使用 session 存储

javascript - JQuery 不处理/从动态内容中选择

javascript - 传单:单击覆盖 geojson 层时, map 单击事件不起作用

javascript - 如何在文本编辑器(dnn7)中包含H4 - H6?

javascript - URL变化无闪烁