微信小程序将图片数据流添加到image标签中

有时候我们通过API接口获取图片时,拿到的是图片的数据流:有可能是二进制数据流,也可能是base64编码的数据流。

     data: {
       captchaImage: '../../images/captcha.png', // 如果需要的话,可以给张默认的图片先
     },


  • 当获取到的是原始的图片二进制数据流时,只需要将image标签的src直接设置为图片url就可以,如:

     var that = this
     var url = constants.WEB_SERVER_DOMAIN + '/getImage'
     console.log(url)
     that.setData ({
       captchaImage: url,
     })

  • 当获取到的是图片的base64编码的数据流时,需要将接口获取到的数据再解析base64编码,如:
      wx.request({
      url: constants.WEB_SERVER_DOMAIN + '/getImage',
      method: 'GET',
      header: {
        'content-type': 'application/octet-stream',
      },
      success: function (res) {
        //console.log(res.data)
        var data = res.data
        console.log(res.statusCode)
        if (res.statusCode == 200) {
          that.setData ({
            captchaImage: 'data:image/png;base64,' + data,  // data 为接口返回的base64字符串
          })
        }
      },

注意:上面解析base64时,在数据流前面加上  data:image/png;base64,  (注意是有个“,”) 。 image/png改为对应的图片类型,如 image/gif, image/jpg等。


然后在wxml文件中,使用image标签,如:

<image src="{{captchaImage}}" style="width:100px;height:44px;" ></image>



  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值