Blame view

Yi.Vben5.Vue3/playground/src/api/examples/upload.ts 612 Bytes
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  import { requestClient } from '#/api/request';
  
  interface UploadFileParams {
    file: File;
    onError?: (error: Error) => void;
    onProgress?: (progress: { percent: number }) => void;
    onSuccess?: (data: any, file: File) => void;
  }
  export async function upload_file({
    file,
    onError,
    onProgress,
    onSuccess,
  }: UploadFileParams) {
    try {
      onProgress?.({ percent: 0 });
  
      const data = await requestClient.upload('/upload', { file });
  
      onProgress?.({ percent: 100 });
      onSuccess?.(data, file);
    } catch (error) {
      onError?.(error instanceof Error ? error : new Error(String(error)));
    }
  }