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

说明

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

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

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

.

数据处理

复制代码
 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)  //赋值
              })
             
            } 
          }
        })
      },

1、设置 responseType: 'arraybuffer',将数据转为类似二进制数组的格式

2、 let url ='data:image/png;base64,'+wx.arrayBufferToBase64(res.data)

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

相关推荐
陈文锦丫14 小时前
MQ的学习
java·开发语言
乌暮14 小时前
JavaEE初阶---线程安全问题
java·java-ee
爱笑的眼睛1115 小时前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
Seven9715 小时前
剑指offer-52、正则表达式匹配
java
代码or搬砖15 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
青蛙大侠公主15 小时前
Thread及其相关类
java·开发语言
Coder_Boy_15 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
2301_7683502315 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql
派大鑫wink15 小时前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法