代码逻辑:
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.上传完成后,再下载图片