最近做一个项目,后台是php,碰到一个图片批量上传的问题,搜索过相关文章,发现是一个坑。所以发文分享一下经验,希望碰到同样问题的朋友可以少走些弯路。
其中用到了uni.uploadFile和uni.chooseImage两个api,这两个的具体用法和说明,官方有文档,不再赘述。
与后台约定的post传值key为uploads,内容为包含文件对象的数组
uni.chooseImage选择图片或者拍照,没有碰到问题,获取到返回对象为res,然后作为参数传入上传图片的方法
贴代码:
upimgs(res){
let that=this;
let imgs = res.tempFilePaths.map((value, index) => {
return {
name: "uploads["+index+"]",//注意这一行,uni的hello的示例中,这里为key名+index,这样是无法和使用一个固定key名接多个文件的php接口对接上的改为数组下标形式的字符串就解决这个问题了。其效果等同于在html页面上多个同name文件域同时提交表单。
uri: value
}
});
console.log(JSON.stringify(imgs));
uni.uploadFile({
url:"替换为你的接口地址",
files:imgs,
formData:{},
success: function(data){
//成功的回调函数
}
});
}
7 个评论
要回复文章请先登录或注册
1***@qq.com
唐明明
choin
choin
l***@jiuqi.com.cn
r***@sohu.com (作者)
锅锅锅锅