html52.com
我爱小程序-开发者交流社区

getLocalImgData: fail localId error?

想要在img标签中存储serverId,但如图片所示,chooseImage后直接调用getLocalImgData是没问题的,在uploadImage后就会有问题,但是把getLocalImgData放在chooseImage前,serverId又获取不到,这个可以帮助解决一下嘛?

mage后就会有问题,但是把getLocalImgData放在chooseImage前,serverId又获取不到,这个可以帮助解决一下嘛?function wxChooseImage() {
		var localIds = [];
		wx.chooseImage({

function wxChooseImage() {
		var localIds = [];
		wx.chooseImage({
			count: 3,
			success: function(res) {
				localIds = res.localIds;
				if ($("#imgs img").length < 3) {
					syncUpload();
				}else{
					alert("最多只能上传3张图片");
				}
			}
		});
		function syncUpload() {
			if (!localIds.length) {
				alert('上传成功!');
			} else {
				var localId = localIds.pop();
				wx.uploadImage({
					localId: localId,
					success: function(res) {
						var serverId = res.serverId;
						if ($("#imgs img").length < 3) {
							wx.downloadImage({
								serverId: serverId, // 需要下载的图片的服务器端ID,由uploadImage接口获得
								isShowProgressTips: 1, // 默认为1,显示进度提示
								success: function (res) {
									var localId = res.localId; // 返回图片下载后的本地ID
									wx.getLocalImgData({
										localId:localId,
										success: function (res){
											var localData = res.localData;
											console.log(localId)
											if(localData.indexOf(";base64,")==-1){//兼容处理,安卓获取的图片base64码没有前缀,而苹果有,base64前缀并不固定
												localData = "data:image/jpeg;base64," + localData;//加上base64前缀
											}
											var img = '';
											
											if($("#imgs img").length>0){
												$("#imgs").append(img);
											}else{
												$("#imgs").html(img);
											}
										}
									});							
								}
							});
							syncUpload();
						}else{
							alert("最多只能上传3张图片");
						}
					}
				});
			}
		}
	}
 如上代码,在手机端正常显示,但是在微信开发者工具和网页版微信就会报错,getLocalImgData: fail localId error

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付