index.d.ts 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { Config, InternalConfig, UploadInfo } from '../upload';
  2. import * as utils from '../utils';
  3. interface UpHosts {
  4. data: {
  5. up: {
  6. acc: {
  7. main: string[];
  8. backup: string[];
  9. };
  10. };
  11. };
  12. }
  13. export declare function getUpHosts(accessKey: string, bucketName: string, protocol: InternalConfig['upprotocol']): Promise<UpHosts>;
  14. export interface InitPartsData {
  15. /** 该文件的上传 id, 后续该文件其他各个块的上传,已上传块的废弃,已上传块的合成文件,都需要该 id */
  16. uploadId: string;
  17. /** uploadId 的过期时间 */
  18. expireAt: number;
  19. }
  20. /**
  21. * @param token 上传鉴权凭证
  22. * @param bucket 上传空间
  23. * @param key 目标文件名
  24. * @param uploadUrl 上传地址
  25. */
  26. export declare function initUploadParts(token: string, bucket: string, key: string | null | undefined, uploadUrl: string): utils.Response<InitPartsData>;
  27. export interface UploadChunkData {
  28. etag: string;
  29. md5: string;
  30. }
  31. /**
  32. * @param token 上传鉴权凭证
  33. * @param index 当前 chunk 的索引
  34. * @param uploadInfo 上传信息
  35. * @param options 请求参数
  36. */
  37. export declare function uploadChunk(token: string, key: string | null | undefined, index: number, uploadInfo: UploadInfo, options: Partial<utils.RequestOptions & {
  38. md5: string;
  39. }>): utils.Response<UploadChunkData>;
  40. export declare type UploadCompleteData = any;
  41. /**
  42. * @param token 上传鉴权凭证
  43. * @param key 目标文件名
  44. * @param uploadInfo 上传信息
  45. * @param options 请求参数
  46. */
  47. export declare function uploadComplete(token: string, key: string | null | undefined, uploadInfo: UploadInfo, options: Partial<utils.RequestOptions>): utils.Response<UploadCompleteData>;
  48. /**
  49. * @param token 上传鉴权凭证
  50. * @param key 目标文件名
  51. * @param uploadInfo 上传信息
  52. */
  53. export declare function deleteUploadedChunks(token: string, key: string | null | undefined, uploadinfo: UploadInfo): utils.Response<void>;
  54. /**
  55. * @param {string} url
  56. * @param {FormData} data
  57. * @param {Partial<utils.RequestOptions>} options
  58. * @returns Promise
  59. * @description 直传接口
  60. */
  61. export declare function direct(url: string, data: FormData, options: Partial<utils.RequestOptions>): Promise<UploadCompleteData>;
  62. export declare type UploadUrlConfig = Partial<Pick<Config, 'upprotocol' | 'uphost' | 'region' | 'useCdnDomain'>>;
  63. /**
  64. * @param {UploadUrlConfig} config
  65. * @param {string} token
  66. * @returns Promise
  67. * @description 获取上传 url
  68. */
  69. export declare function getUploadUrl(_config: UploadUrlConfig, token: string): Promise<string>;
  70. export {};