jsapi 同时上传多张照片

开始用的js闭包,android的可以,ios不好用,目前已经调试好用

function upload_img(){
	var len=$("#imglist .new").length;
		wx.chooseImage({
                    count: 4-len, // 默认9
                    sizeType: ['original', 'compressed'],
                    sourceType: ['album'],
                    success: function(res) {
                        var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
				
						var str= new Array();
						str = (localIds+"").split(",");
						var i=0;
                        var upload = function() {
							
                            wx.uploadImage({
                                localId: str[i],
                                success: function(res) {
									$("#imglist").append("<li class='new' id='img_"+i+"' style='23%; float:left; margin-left:1.6%; position:relative;'><div id='img_ids'></div><img style='height:"+bximg_height+";100%;border-radius:5px;' src='"+str[i]+"' onclick="javascript:del_img('"+i+"')" ><img src='__IMG__/wuye/05.png' onclick="javascript:del_img('"+i+"')" width='21%;' style='position:absolute; top:2px; right:2px;'/></li>");
									$("#img_ids").append("<input type='hidden' name='img_ids[]' id='img_id"+i+"' value='"+res.serverId+"' />");       
									if($("#imglist .new").length >=4){
										$("#add").hide();
									}
                                    i++;
                                    if (i <= str.length) {
                                        upload();
                                    }
                                }
                            });                    
                        };
 
                        upload();
                    }
                });
		/*
		wx.chooseImage({
			count: 4-len, // 默认9
			sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
			sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
			success: function (res) {
				var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
				
				var str= new Array();
				str = (localIds+"").split(",");
				for(var i=0;i<=str.length-1;i++){
					//setTimeout(function (){alert(''))},100);
					wx.uploadImage({
						localId: str[i], // 需要上传的图片的本地ID,由chooseImage接口获得
						isShowProgressTips: 1, // 默认为1,显示进度提示
						success: (function(i,str){
							return function (res) {
								//$("#imglist").append("<img id='img_"+i+"' src='"+str[i]+"' onclick="javascript:del_img('"+i+"')" width='100' >");
								$("#imglist").append("<li class='new' id='img_"+i+"' style='23%; float:left; margin-left:1.6%; position:relative;'><div id='img_ids'></div><img style='height:"+bximg_height+";100%;border-radius:5px;' src='"+str[i]+"' onclick="javascript:del_img('"+i+"')" ><img src='__IMG__/wuye/05.png' onclick="javascript:del_img('"+i+"')" width='21%;' style='position:absolute; top:2px; right:2px;'/></li>");
								$("#img_ids").append("<input type='hidden' name='img_ids[]' id='img_id"+i+"' value='"+res.serverId+"' />");       
								if($("#imglist .new").length >=4){
									$("#add").hide();
								}
								//var serverId = res.serverId; // 返回图片的服务器端ID
							}
						})(i,str)
						
					});
				}
			}
		});
		*/
	}

  

原文地址:https://www.cnblogs.com/moogu/p/5168757.html