微信jssdk上传多张图片问题

代码逻辑:

         1.选择图片     调用wx.chooseImage的接口选择图片,成功后返回:  res.localIds用于上传图片使用

   

function selectImage(){
			wx.chooseImage({
			    count: 3, // 默认9
			    sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
			    sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
			    success: function (res) {
					syncUpload(res.localIds)
			    }
			});

         2.上传图片     因微信上传图片只支持一张一张上传,所以递归调用上传图片

                               注意:1.不能循环调用

                                          2.第一张上传图片成功后,js定时任务等几毫秒再上传第二张,否则会上传不成功

                                代码:

		var syncUpload = function(localIds){
		        var localId = localIds.pop();
			wx.uploadImage({
				    localId: localId.toString(), // 需要上传的图片的本地ID,由chooseImage接口获得
				    isShowProgressTips: 1, // 默认为1,显示进度提示
				    success: function (res) {
				        //res.serverId 返回图片的服务器端ID
				        if(localIds.length > 0){
               				 window.setTimeout(function(){
               				  syncUpload(localIds);
    						 },100);
           				 }else{
           				  window.setTimeout(function(){
               				  downloadImage(0);
    					},100);
           					
            			     }
		      }
		}

          3.上传完成后,再下载图片

你可能感兴趣的:(微信)