00:00:00
uniapp多图上传
需求:
uniapp 多图上传需要自定义样式,导致 uni 官方封装好的组件==uni-file-picker==无法满足需求,只能自己写
知识点:
uni.chooseImage():触发相册选择图片或者相机直接拍照 uni.uploadFile():选择好本地图片资源后使用该 api 进行上传
代码:
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera'], //从相册选择
success: function (res) {
console.log(res.tempFilePaths);
let img = [];
img.push({name:'files',uri:res.tempFilePaths[0]});
uploadImgs(img);
}
});
uni.uploadFile({
url: baseUrl + 'upload/image',
files:files,
header: {
"Content-Type": "multipart/form-data",
},
success: function(res1) {
console.log(res1)
}
})有趣的点:
1.多图选择存在兼容性,在官方 api 无效时,可以选择平台编译==puls== 2.多图上传后端如果只收到一张图片,可以将图片链接数组处理成==files 对象数组==,切记多图 name 值不可相同