|
|
@ -1,4 +1,6 @@
|
|
|
|
|
|
|
|
import { showToasts, t } from '..';
|
|
|
|
import { request } from '../api/request';
|
|
|
|
import { request } from '../api/request';
|
|
|
|
|
|
|
|
import _get from 'lodash/get';
|
|
|
|
|
|
|
|
|
|
|
|
interface UploadFileOptions {
|
|
|
|
interface UploadFileOptions {
|
|
|
|
onProgress?: (percent: number, progressEvent: unknown) => void;
|
|
|
|
onProgress?: (percent: number, progressEvent: unknown) => void;
|
|
|
@ -19,18 +21,23 @@ export async function uploadFile(
|
|
|
|
const form = new FormData();
|
|
|
|
const form = new FormData();
|
|
|
|
form.append('file', file);
|
|
|
|
form.append('file', file);
|
|
|
|
|
|
|
|
|
|
|
|
const { data } = await request.post('/upload', form, {
|
|
|
|
try {
|
|
|
|
onUploadProgress(progressEvent) {
|
|
|
|
const { data } = await request.post('/upload', form, {
|
|
|
|
if (progressEvent.lengthComputable) {
|
|
|
|
onUploadProgress(progressEvent) {
|
|
|
|
if (typeof options.onProgress === 'function') {
|
|
|
|
if (progressEvent.lengthComputable) {
|
|
|
|
options.onProgress(
|
|
|
|
if (typeof options.onProgress === 'function') {
|
|
|
|
progressEvent.loaded / progressEvent.total,
|
|
|
|
options.onProgress(
|
|
|
|
progressEvent
|
|
|
|
progressEvent.loaded / progressEvent.total,
|
|
|
|
);
|
|
|
|
progressEvent
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return data;
|
|
|
|
return data;
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
showToasts(`${t('上传失败')}: ${_get(e, 'message')}`, 'error');
|
|
|
|
|
|
|
|
throw e;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|