相信大多数微信小程序的开发者都会遇到的一个问题就是图片在模拟器上能显示 跑到真机上就不行,而且ios能显示安卓却显示不了的问题,这个问题也是困扰了我很久,最终想到了解决方案。
大多数情况下 都是后端返回一个url地址然后我们再拿基准路径去拼接 ok这没问题 在pc端和ios都可以显示,但是安卓不行,因为我们拼接的这个路径实际上返回来的是一个流我们需要进行处理转换成base64格式才能正常显示 而pc和ios可能内部做了处理所以能显示出来。
为此我封装了一个小工具 话不多说上代码:
如果后端返回的ulr路径最后 没带文件名可以把fileNmae注释掉以免报错,然后resolve那里写死成jpeg(正常情况都会带上)
使用方法:文章来源:https://www.toymoban.com/news/detail-603563.html
文章来源地址https://www.toymoban.com/news/detail-603563.html
fileStreamturn: function(url) {
return new Promise(function(resolve,reject) {
uni.request({
url: url,
method: 'GET',
responseType: 'arraybuffer',
header:{
Authorization: token
},
success: res => {
let datas = res.data;
let fileName = url.slice(url.indexOf('.')+1)
resolve(`data:image/${fileName};base64,`+uni.arrayBufferToBase64(datas))
},
});
})
},
到了这里,关于微信小程序 图片显示不出来的问题 100%管用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!