微信官方文档uploadImage函数一次只能上传一张图片,但实际运用中有不少多图上传的需求
当选择多张图片时若直接循环多次调用,只有最后一张能上传成功,因为uploadImage只有在上次一执行成功或者失败以后才能再次调用,因此把该函数稍作修改即可
//选择图片function choose(num){ wx.chooseImage({ count: num, // 默认9 sizeType: [‘compressed‘], success: function (res) { var localIds = res.localIds; // localIds为数组 upload(localIds) } });};//上传图片
function upload(localIds,image){ var localId = localIds.pop(); //从数组中取一个localId上传,并从数组中删掉该元素 wx.uploadImage({ localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) { if(res.errMsg == ‘uploadImage:ok‘){ var serverId = res.serverId; // 返回图片的服务器端ID console.log(serverId); if(localIds.length > 0){ upload(localIds); //若存放localId的数组不为空,继续上传 } } } });} 至此,该问题完美解决
时间: 2024-12-19 14:55:47