我正在按照文件规范使用 blob 和数组缓冲区在 javascript 中生成二进制文件。一切顺利,我有以下斑点:
var bb = new Blob([fileSig, version, numBlocks], {type: 'example/binary'});
变量fileSig
、version
和numBlocks
是数组缓冲区,其中包含正确的数据。现在我已经到了一个for
循环,它生成的数据也需要进入这个 blob。
我首先想到我会创建一个 ArrayBuffers 数组,随着for
循环的继续,它会被填充,然后将其添加到 blob 中,例如:
var bb = new Blob([fileSig, version, numBlocks, arrayOfArrayBuffers], {type: 'example/binary'});
但是blob不接受它。然后我想我会运行一个循环并附arrayOfArrayBuffers
加到bb
Blob,但 Blob 不允许附加。
有没有办法以这种方式附加到 arrayBuffer 或 Blob?我需要同时使用Uint8Array
, 和Uint16Array
s。
编辑:aDataView
似乎是我需要使用的。我将记录偏移量,然后在该偏移量处设置新数据。我会尝试并发布我的发现。