微信小程序将后端返回的图片文件流解析显示导页面

说明

由于请求接口后端返回的图片格式不是一个完整的url,也不是其他直接能显示的图片格式,是一张图片

后端根据模板与二维码生成图片,返回二进制数据

微信小程序将后端返回的图片文件流解析显示导页面_第1张图片

返回为文件流的格式,用wx.request请求的时候,就自动解码成为了下面这样的数据数据格式,这样的数据没有办法直接赋值给url去显示。

微信小程序将后端返回的图片文件流解析显示导页面_第2张图片 .

数据处理

 getUserBanner() {
        let that = this
        wx.request({
          url: 'http://localhost:9080/test/addBanner',//后台地址
          method: 'GET',
          responseType: 'arraybuffer', //切换流返回类型
          data: {},
          success: (res) => {
            console.log("返回数据"+res.data) 
            if (res.data) {
                that.setData({
                userBanner : 'data:image/png;base64,' + wx.arrayBufferToBase64(res.data)  //赋值
              })
             
            } 
          }
        })
      },

微信小程序将后端返回的图片文件流解析显示导页面_第3张图片

1、设置 responseType: 'arraybuffer',将数据转为类似二进制数组的格式
2、 let url ='data:image/png;base64,'+wx.arrayBufferToBase64(res.data) 

后端返回数据,根据rpc调用返回的二维码生成图片模板

微信小程序将后端返回的图片文件流解析显示导页面_第4张图片

微信小程序将后端返回的图片文件流解析显示导页面_第5张图片 

你可能感兴趣的:(小程序,微信小程序,小程序,java)