请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

获取小程序带参数的二维码返回的二进制的Buffer,要怎么显示出来啊?网上很多说用wx.arrayBufferToBase64(res.data),试了是空值

获取小程序二维码返回的二进制的Buffer,要怎么显示出来啊?网上很多说用wx.arrayBufferToBase64(res.data),试了是空值图片描述

正在回答 回答被采纳积分+3

2回答

咚咚呛 2020-07-19 22:29:14

回复上面的问题。

通过console.log是没有办法把图片打印出来的哈,通过base64编码,会把图片buffer转换成字符串,打印出来的是字符串。

接口文档写得很清楚,请求返回的是content/jpeg类型的数据,它本身就是一个图片,你可以通过本地缓存接口storage把图片存储下来,然后通过路径渲染到wxml页面显示出来。

希望对你有所帮助。

1 回复 有任何疑惑可以回复我~
咚咚呛 2020-07-19 12:28:03

wx.arrayBufferToBase64只是把数组转换成Base64字符串编码的一个函数,得到的是字符串,是不会显示出图片的哈,你的小程序二维码Buffer是怎么获取的呢?可以提供下相关的代码。

0 回复 有任何疑惑可以回复我~
  • 提问者 this_name #1
    wx.request({
          // 获取token
          url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential',
          data: {
            appid: myappid,         // 小程序appid
            secret: mysecret         // 小程序秘钥
          },
          success(res) {
            // res.data.access_token 
            wx.request({
              url: 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' + res.data.access_token,
              method: 'POST',
              data: {
                "width": 430,
                'scene':'olkzY5XADOZcPObn1NG-MilrDGRs'      //我的openid
    
              },
              success(res) {
                console.log(res.data)
                // console.log(wx.arrayBufferToBase64(res.data))
                // url ='data:image/png;base64,'+wx.arrayBufferToBase64(res.data)
              }
            })
          }
        })
    
    
    我是想能把二维码图片直接在小程序里面显示出来再缓存,目前却只能在后端保存图片后返回图片地址,但是我的服务器配置比较低,带宽也不大,所以希望能把这个环节放在前端处理。
    回复 有任何疑惑可以回复我~ 2020-07-19 15:22:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信