如何将 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 转换为正常的解压缩图像

Console log 1 Console log 2

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...