UNPKG

vodpro-upload-js-sdk

Version:
93 lines (92 loc) 3.33 kB
/** 加速域名的类型 */ export declare enum UploadMode { /** 子应用级别的加速域名, 开发者无需感知存储桶和地域分布, SDK自动调度(支持多存储桶),子应用存在多个存储桶时文件可能会被上传到不同的存储桶*/ auto = 0, /** 子应用级别的加速域名, 开发者需要指定上传存储桶和地域, SDK会将文件上传到指定的存储桶和地域*/ subApp = 1, /** 桶级别的加速域名, 开发者需要指定上传存储桶和地域, SDK会将文件上传到指定的存储桶和地域 */ bucket = 2 } export interface SignatureParams { accessKeyId: string; secretAccessKey: string; sessionToken: string; /** 建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误 */ startTime: number /** 时间戳,单位秒,如:1580000000 */; expiredTime: number /** 时间戳,单位秒,如:1580000000 */; /** * 存储桶id * ---------------------------- * uploadMode | bucketId是否必传 * ---------------------------- * auto | 否 * ---------------------------- * subApp | 是 * ---------------------------- * bucket | 是 * ---------------------------- */ bucketId?: string; /** * 子应用id * ----------------------------- * uploadMode | subAppId是否必传 * ----------------------------- * auto | 是 * ----------------------------- * subApp | 是 * ----------------------------- * bucket | 否 * ----------------------------- */ subAppId?: number; /** * 存储地域, 例如ap-chongqing, ap-beijing * ----------------------------- * uploadMode | region是否比传 * ----------------------------- * auto | 否 * ----------------------------- * subApp | 是 * ----------------------------- * bucket | 是 * ----------------------------- */ region?: string; uploadMode: UploadMode /** 加速域名的类型 */; } export interface ProgressInfo { /** 已上传/下载的字节数,单位 B(字节) */ loaded: number; /** 要上传/下载的文件的大小,单位 B(字节) */ total: number; /** 速度,单位 B/s */ speed: number; /** 进度百分比,范围是 0-1,保留两位小数 */ percent: number; } /** * * @param key 存储在桶里的对象键(例如1.jpg,a/b/test.txt) * @param region 存储桶所在地域 ,例如 ap-chongqing, ap-beijing * @param body 上传文件的内容,可以为 File 对象或者 Blob 对象 * @param header 用户透传的http header * @param chunkSize 分块大小,如传入1048576代表分块大小为1MB * @param asyncLimit 分块的并发量 * @param onProgress 上传文件的进度回调函数 * @param onError 错误回调 * @param onFinish 上传完成回调 * @param onTaskId 任务id回调 */ export interface UploadFileOptions { key: string; region?: string; body: File; header?: Object; chunkSize?: number; asyncLimit?: number; onProgress?: Function; onError?: Function; onFinish?: Function; onTaskId?: Function; }