您的位置:首页 > 移动开发 > 微信开发

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

2017-09-29 17:46 323 查看

有时候我们通过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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: