.点击图片上传按钮时,触发方法:
const chooseImage = () => {
if (uni.getSystemInfoSync().platform === 'ios') {
selectImage();
} else {
if (storage.get('isPublishRequest') != '1') {
uni.showModal({
title: '提示',
content: 'APP需要您的同意才能使用摄像头拍照或者读取您的相册,用于上传图片',
showCancel: true, // 不显示取消按钮
cancelText: '取消',
confirmText: '确定',
success: function (res) {
if (res.confirm) {
storage.set('isPublishRequest', '1');
selectImage();
} else if (res.cancel) {
console.log('用户点击取消');
}
},
fail: function (error) {
console.error("显示弹框失败:", error);
}
});
} else {
selectImage();
}
}
}
const selectImage = () => {
uni.chooseImage({
count: 1, // 默认9,设置图片的数量
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
const tempFilePaths = res.tempFilePaths;
uploadImage(tempFilePaths[0]); // 获取到图片路径后上传图片
}
});
}
const uploadImage = async (filePath : any) => {
let fileListLen = avatarList.value.length;
try {
const result = await uploadFilePromise(filePath);
studentData.value.avatar = result as string;
uni.$emit('updaMyInfo', { msg: '页面更新' });//成功之后返回列表页刷新列表页
} catch (ex : any) {
avatarList.value.splice(fileListLen);
studentData.value.avatar = '';
}
//}
}