uint8 是使用 reader.readAsArrayBuffer 从图像文件创建的 arrayBuffer。这个arraybuffer的大小是30984。原始图像文件的大小也是30984。
但是,如果使用这个uint8创建新文件,容量也会增加,并且似乎创建并上传了图像文件以外的文件。看下面捕获的图像,新创建的文件的大小是 69596。
为什么会有所不同? 我怎样才能创建相同的文件?
arrayBuffer 参数需要是传递给
new File
作为其第一个参数的数组中的一个条目,如 MDN documentation中
bits
下所述。
假设
uint8
是 arrayBuffer,调用看起来像这样
var resultFile = new File([uint8], "test.jpg");
请不要将代码作为图像发布 - 这会让读者探索代码或尝试它变得困难甚至不可能。