请问我获取到后端的二进制流图片数据,怎么转换成可以直接显示图片的url路径?
发布于 6 年前 作者 gaoyong 1775 次浏览 来自 官方Issues

我通过writerFile写入了watermarkInfo.jpg中 后续我要怎么把他转换为url路径 或者怎么显示出来图片啊

5 回复

我也做过水印,用的阿里的接口,但没你这么复杂,这肯定有优化的地方把

我也碰到了这个问题,网上说要再请求头里设置什么,感觉比较麻烦,后来我让后端帮忙转成base64发给我,然后image的src值设置成’data:image/jpeg;base64,’+base64图片就能显示了

使用wx.getFileSystemManager().readFile 指定 encoding:“base64”,得到图片base64内容

imgBase64 = ‘data:image/jpg;base64,’+得到图片base64内容

image的src="{{imgBase64}}"

如果你写文件那一步的 res.data就已经是二进制数据的话,就直接使用下面这个,都不用写文件了

var base64 = wx.arrayBufferToBase64(res.data);

console.log(base64);

this.setData({

imgBase64: ‘data:image/jpg;base64,’ + base64

})


直接你readFile用的这个路径 设到 image 的src里就可以

wx.downloadFile将图片下载下来

wx.downloadFile({
  url: '生成二进制图片的链接',
  success: res => {
    if(res.tempFilePath) {
      //res.tempFilePath就是图片链接
    }else {
      toast("图片生成失败")
    }
  },
  fail: (err) => {
    console.log(er)
  }
})
回到顶部