如何解决如何将 Uint8Array 转换为图像
我正在开发一个具有 zip 多图像上传选项的项目。我通过 JSZip 打开 zip,里面有一个包含 Uint8Array 的压缩内容,但我所有将其转换为 Blob 或新图像的尝试都失败了。
我最初的计划是将 zip 中的图像转换为 canvas 元素并在其上添加水印,然后在发布到 api 之前将新图像编译为数组。所以我在这里苦苦地困了两天。
chapterUpload(e) {
let files = e.target.files[0],zip = new JSZip();
zip.loadAsync(files).then(
(zip) => {
let zipValues = Object.values(zip.files);
for (let i = 0; i < zipValues.length; i++) {
let { compressedContent } = zipValues[i]._data,blob = new Blob([compressedContent],{ type: "image/jpeg" }),url = URL.createObjectURL(blob); // throws "The image cannot be displayed because it contains errors"
this.zipImages.push(compressedContent);
}
console.log(this.zipImages); // this output right below
},() => {
alert("Please,upload a zip. (example.zip)");
}
);
},
基本上,我不知道如何将 Uint8Array 转换为正常的解压缩图像。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。