根据后端返回的图片流格式,选用合适方法转换
下面以base64为例

if(res.status == 200) {
     res.data.data.forEach((item,index) => {
        let Array = 'data:image/png;base64,' + item
        let blob = this.base64toBlob(Array)
        let url = URL.createObjectURL(blob)
        this.imageList.push({
             name:this.keyList[index],
             src:url
        })
   });
}

下面是图片流的两种转换方式:

arrayBufferToBase64(buffer) {
   var binary = ''
   var bytes = new Uint8Array(buffer)
   var len = bytes.byteLength
   for (var i = 0; i < len; i++) {
      binary += String.fromCharCode(bytes[i])
   }
   return window.btoa(binary)
},
base64toBlob(dataurl) {
   var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
   bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
   while (n--) {
     u8arr[n] = bstr.charCodeAt(n);
   }
   return new Blob([u8arr], { type: mime });
},
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐