data参数
[
"blob:http://localhost:5173/c8c38a2d-0a8a-44e9-83d5-1292416f952e"
]
上传单个图片使用--filePath
/** 上传图片 */
const handleTakePhoto=(data)=> {
console.log(data)
uni.uploadFile({
// url: 'http://test_2022.yunjiwan.com//revision_android/PostMessage/uploadFiles', //仅为示例,非真实的接口地址
url: 'http://test_2022.yunjiwan.com/api_android/Index/saveImgs',
filePath: data[0],
name: 'images',
formData: {
tofrom: 'jisu'
},
success: (res) => {
lists[0].img=JSON.parse(res.data).data
form.figureurl=JSON.parse(res.data).data
changeInfo(form)
uni.showToast({
title: '上传图片成功',
duration: 2000
});
showActionSheet2.show = false
}
})
}
上传多个图片使用--files
const handleTakePhoto=(data)=> {
console.log(data)
const files = data;//重点代码
let imgArr = [];
for (let i = 0; i < files.length; i++) {
let obj = new Object();
obj.name = 'files' + i;
obj.uri = files[i];
imgArr.push(obj);
}
console.log(imgArr,'imgArr')
uni.uploadFile({
url: 'http://test_XXXX.com//uploadFiles',
files: imgArr,
// formData: {//设置其他参数
// files: data
// },
header: {//请求头配置
'accesscode': uni.getStorageSync('code'),
'accesstoken': uni.getStorageSync('token')
},
success: (res) => {
console.log(JSON.parse(res.data))
uni.showToast({
title: '上传图片成功',
duration: 2000
});
}
})
}
接口参数如下,后台改一下接受参数就可以使用了
请求成功预览
上传照片调用摄像头或相册api
h5无法直接调用相册会弹出切换选项
app可以直接打开相册
if(e.index==0){
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera'], //摄像
success: function (res) {
handleTakePhoto(res.tempFilePaths)
// console.log(res)
}
})
}else{
// console.log('点击第二个')
uni.chooseImage({
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: function (res) {
handleTakePhoto(res.tempFilePaths)
// console.log(res)
}
})
}