uniapp 上传
图片上传组件
使用组件实现图片上传功能,以下是相关的代码:
组件声明
fileList1: [],
// uviewui ui组件
<u-upload
uploadText="上传打款凭证"
:fileList="fileList1"
@afterRead="afterRead"
@delete="deletePic"
name="1"
:multiple="false"
:maxCount="1"
></u-upload>
新增图片方法
afterRead(event) {
this.imgUrl = '';
let uploadTask = uni.uploadFile({
url: this.$imgURL + '/api/upload/imgFile', // 仅为示例,非真实的接口地址
filePath: event.file.url,
name: 'file',
formData: {
'token': Q.getToken()
},
success: (uploadFileRes) => {
this.imgUrl = JSON.parse(uploadFileRes.data).data;
}
});
上传过程处理
// 上传中
let lists = [].concat(event.file);
let fileListLen = this[\`fileList${event.name}\`].length;
lists.map((item) => {
this[\`fileList${event.name}\`].push({
...item,
status: 'uploading',
message: '上传中'
});
});
// 上传完成
uploadTask.onProgressUpdate((res) => {
if (res.progress === 100) {
setTimeout(() => {
let item = this[\`fileList${event.name}\`][fileListLen];
this[\`fileList${event.name}\`].splice(fileListLen, 1, Object.assign(item, {
status: 'success',
message: '',
url: event.file.url
}));
}, 1000);
}
// 测试条件,取消上传任务。
/* if (res.progress > 50) {
uploadTask.abort();
}*/
});
},
浙公网安备 33010602011771号