步骤:
1.选择图片(uni.chooseImage)会产生本地地址(res.tempFilePaths)
2.把拿到的本地地址(uni.uploadFile)上传服务器返回服务器地址url
3.提交数据时,给定一个值把服务器地址上传后台
4.其它(删除,预览) 。删除就是把图片(string)删除掉,只有一张的话可以直接让src=‘’。多张找到下标删除。预览( uni.previewImage)
<button @click="ChooseImageFace">选择图片</button>
ChooseImageFace() {
//挑选
uni.chooseImage({
count: 1, //选择几张
sizeType: ["compressed"], //可以指定是原图还是压缩图,默认二者都有
sourceType: ["album"], //从相册选择(也可以拍照
success: (res) => {
this.faceSrc = res.tempFilePaths;
this.uploadFace(this.faceSrc);
},
});
}
uploadFace(localTempPath: string) {
return new Promise((resolve, reject) => {
uni.uploadFile({
url: this.uploadFaceUrl, //上传的服务器地址地址
filePath: localTempPath, //本地地址
success: (uploadFileRes) => {
let result = JSON.parse(uploadFileRes.data);
if (result.result == null || result.result.url == null) {
this.faceSrc = ""; //失败把本地地址也清空
uni.showToast({
title: "上传人脸头像不合格,请重新上传!",
icon: "none",
duration: 2000,
});
} else {
this.imgUrl = result.result.url
}
resolve(result.result.url);
},
fail: (err) => {
console.log("失败了");
reject(err);
},
});
});
}