upload.d.ts 915 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // 模式
  2. export enum MODETYPE {
  3. // 本地
  4. LOCAL = 'local',
  5. // 云存储
  6. CLOUD = 'cloud',
  7. // 其他
  8. OTHER = 'other',
  9. }
  10. /**
  11. * 上传模式
  12. */
  13. export interface Mode {
  14. // 模式
  15. mode: MODETYPE;
  16. // 类型
  17. type: string;
  18. }
  19. /**
  20. * 文件上传
  21. */
  22. export interface BaseUpload {
  23. /**
  24. * 获得上传模式
  25. */
  26. getMode(): Promise<Mode>;
  27. /**
  28. * 获得原始操作对象
  29. * @returns
  30. */
  31. getMetaFileObj(): Promise<any>;
  32. /**
  33. * 下载并上传
  34. * @param url
  35. * @param fileName 文件名
  36. */
  37. downAndUpload(url: string, fileName?: string): Promise<string>;
  38. /**
  39. * 指定Key(路径)上传,本地文件上传到存储服务
  40. * @param filePath 文件路径
  41. * @param key 路径一致会覆盖源文件
  42. */
  43. uploadWithKey(filePath, key): Promise<string>;
  44. /**
  45. * 上传文件
  46. * @param ctx
  47. * @param key 文件路径
  48. */
  49. upload(ctx): Promise<string>;
  50. }