refactor: uploadFile

pull/13/head
moonrailgun 4 years ago
parent f4dadc7003
commit d6300c7750

@ -102,4 +102,5 @@ export {
version, version,
} from './utils/environment'; } from './utils/environment';
export { getTextColorHex } from './utils/string-helper'; export { getTextColorHex } from './utils/string-helper';
export { uploadFile } from './utils/upload-helper';
export { sleep } from './utils/utils'; export { sleep } from './utils/utils';

@ -0,0 +1,36 @@
import { request } from '../api/request';
interface UploadFileOptions {
onProgress?: (percent: number, progressEvent: unknown) => void;
}
interface UploadFileResult {
etag: string;
path: string;
url: string;
}
/**
*
*/
export async function uploadFile(
file: File,
options: UploadFileOptions = {}
): Promise<UploadFileResult> {
const form = new FormData();
form.append('file', file);
const { data } = await request.post('/file/v2/image/upload', form, {
onUploadProgress(progressEvent) {
if (progressEvent.lengthComputable) {
if (typeof options.onProgress === 'function') {
options.onProgress(
progressEvent.loaded / progressEvent.total,
progressEvent
);
}
}
},
});
return data;
}
Loading…
Cancel
Save