缩略图能正常在Android手机上显示,但IOS上没有任何图像显示。查阅相关资料后发现是微信的问题,检查微信API更新日志,在2019年7月15中有提到增加了getLocalImgData方法,通过此方法可以通过localId得到图像的base64值,直接把得到的base64值传给标签,注意wx.getLocalImgData这个方法是异步执行的,必须要把赋值的代码写在方法里面。
附上代码:
wx.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['album', 'camera'],
success: function (res) {
var imgLocalIdArray = res.localIds;
var imgHtmls = $('#imgUl').html();
for (var i = 0, len = imgLocalIdArray.length; i < len; i++) {
var localId = imgLocalIdArray[i];
if (window.__wxjs_is_wkwebview) {
wx.getLocalImgData({
localId: localId,
success: function (res) {
var localData = res.localData;
var img = '<img width="80" height="80" src="'+localData+'" />';
imgHtmls += '<li class="weui-uploader__file weui-uploader__file_status">' + img + '</li>';
$('#imgUl').html(imgHtmls);
},
fail:function(res){
alert(res.errMsg);
}
});
}else{
imgHtmls += '<li class="weui-uploader__file weui-uploader__file_status" style="background-image: url(\'localId\')"></li>'.replace('localId', localId);
$('#imgUl').html(imgHtmls);
}
}
uploadWeChatServer(imgLocalIdArray, '员工照片', '驾驶证正本照');
}
});