我使用arrayBuffer创建了一个新文件,但它与原始文件不同。如何制作与原始文件相同的文件?

问题描述 投票:0回答:1

uint8 是使用 reader.readAsArrayBuffer 从图像文件创建的 arrayBuffer。这个arraybuffer的大小是30984。原始图像文件的大小也是30984。

但是,如果使用这个uint8创建新文件,容量也会增加,并且似乎创建并上传了图像文件以外的文件。看下面捕获的图像,新创建的文件的大小是 69596。

为什么会有所不同? 我怎样才能创建相同的文件?

我正在通过接收二进制文件来实现文件上传。

javascript arraybuffer
1个回答
0
投票

arrayBuffer 参数需要是传递给

new File
作为其第一个参数的数组中的一个条目,如 MDN
documentation
bits 下所述。

假设

uint8
是 arrayBuffer,调用看起来像这样

var resultFile = new File([uint8], "test.jpg");

请不要将代码作为图像发布 - 这会让读者探索代码或尝试它变得困难甚至不可能。

© www.soinside.com 2019 - 2024. All rights reserved.