async upload(){
const ossConfig = {
path: '路径',
host: '地址',
bucket: '名称'
};
const sign = await this.$axios.post(getOssSign, ossConfig);
const fileName = Date.now() + '-' + this.file.name;
const formatFile = formatUploadFile("单个图片或者文件", sign.data.data, fileName);
await this.$axios.post(sign.data.data.host, formatFile, {
headers: { 'Content-Type': 'multipart/form-data' },
withCredentials: false
});
this.fileUrl = commonOssUrl + `${sign.data.data.dir}/${fileName}`;
}
for (let i = 0; i < list.length; i++) {
const fileName = list[i].name;
const formatFile = formatUploadFile(list[i], res.data.data, fileName);
const resp = this.$axios.post(res.data.data.host, formatFile, {
headers: { 'Content-Type': 'multipart/form-data' },
withCredentials: false
});
promiseArr.push(resp);
}
try {
const fileList = await Promise.all(promiseArr).then((arr) => {
return list.map((item) => {
return `${res.data.data.dir}/${item.name}`;
});
});
return { fileList, uuid: res.data.data.dir.split('/')[1] };
} catch (error) {
this.$Message.error({
content: '上传失败,请重新上传'
});
}
formatUploadFile (file, sign, names) {
const request = new FormData();
request.append('OSSAccessKeyId', sign.accessid);
request.append('policy', sign.policy);
request.append('Signature', sign.signature);
request.append('key', `${sign.dir}/${names}`);
request.append('success_action_status', '200');
request.append('file', file);
return request;
};