本文主要详细介绍了微信小程序上传多张图片的功能,有一定的参考价值,感兴趣的朋友可以参考一下。
微信小程序一次只能上传一张图片,所以很多朋友会问想上传更多图片怎么办。
首先,让我们看一下两个API,wx.chooseImage(对象)和wx.uploadFile(对象)。
示例代码如下所示:
一个
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
wx . choose image({ 0
成功:功能()
vartempfilepath=RES . tempfilepath
wx . uploadfile({ 0
网址: ' http://example.weixin.qq.com/upload',//is只是一个例子,而不是一个真正的接口地址。
文件路径:临时文件路径[0],
名称: '文件',
formData:{
用户' : '测试'
},
成功:功能()
vardata=res.data
//做某事
}
})
}
})
这里的示例代码是选择一张图片,然后上传选中图片中的第一张图片;
现在开始写上传多张图片的例子。
首先,我们还是要选择图片。
一个
2
三
四
五
六
wx . choose image({ 0
成功:功能()
vartempfilepath=RES . tempfilepath;//这里是选中图片的地址,是一个数组。
}
})
然后在app里写一个上传多张图片的方法。js,后面会介绍,也可以写在JS文件中,后面会介绍:
一个
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//上传多张图片
functionuploadimg(数据){ 0
varthat=这个,
i=data.i?data.i:0,
成功=数据。成功?data.success:0,
fail=data.fail?data.fail:0
wx . uploadfile({ 0
url: data.url,
filePath: data.path[i],
名称: '文件数据',
表单数据:完整,
成功:(resp)={ 0 }
成功;
控制台.日志(resp)
console . log(I);
//这里可能有bug,这里会执行失败。
},
fail: (res)={
失败;
console . log(' fail : ' I ' fail : ' fail);
},
complete :()={ 0
console . log(I);
我;
If(i==data.path.length){//图片结束后停止调用。
Console.log('完成执行');
console . log(' success:' success ' fail ');
}else{//如果图片没有完成,继续调用函数。
console . log(I);
data.i=i
data.success=成功;
data.fail=fail
that.uploadimg(数据);
}
}
});
}
上传多张图片的方法已经写好了,下面是报价:
一个
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var app=GetApp();
第({页
数据:{
pics:[]
},
Choose:function(){//图片选择方法如下。
varthat=this
wx . choose image({ 0
Count: 9-pic.length,//可以选择的最大图片数,默认为9。
大小: ['原始','压缩'],//原始原始原始图像,压缩压缩图像,两者缺省。
Source : ['相册','相机'],//相册从相册中选择图片,相机使用相机,默认情况下两者都可用。
成功:功能()
varimgsrc=res.tempFilePaths
that . setdata({ 0
pics:imgsrc
});
},
fail : function(){ 0
//失败
},
complete : function(){ 0
//完成
}
})
},
Uploadimg:function(){//下面是触发图片上传的方法。
varpics=this . data . pics;
app . uploadimg({ 0
URL :' https://. ',//这里是上传图片的界面。
路径:pics//这是所选图片的地址数组。
});
},
onLoad:function(选项){ 0
}
})