vodpro-upload-js-sdk
Version: 
Tencent Cloud VOD Pro Upload SDK
59 lines (58 loc) • 1.86 kB
TypeScript
import COS from "cos-js-sdk-v5";
import { SignatureParams, UploadFileOptions } from "./types";
export default class Core {
    cos: COS | undefined;
    options: SignatureParams;
    endpoint: string;
    constructor(options: SignatureParams);
    /**
     * 应用级和存储桶级别的签名在key上有区别, 应用级的key前缀会包含bucketId或auto
     */
    getSignature(): void;
    /**
     *
     * 在cos异常时cos本身会重试3次, 所以sdk只需要实现异常时的服务切换就行, 重试次数的逻辑交给cos本身
     */
    whenError(options: UploadFileOptions): void;
    /**
     *
     * @param key 存储在桶里的对象键(例如1.jpg,a/b/test.txt)
     * @param region 存储桶所在地域 ,例如 chongqing, beijing
     * @param body 上传文件的内容,可以为 File 对象或者 Blob 对象
     * @param header 用户透传的http header
     * @param chunkSize 分块大小,如传入1048576代表分块大小为1MB
     * @param asyncLimit 分块的并发量
     * @param onProgress 上传文件的进度回调函数
     * @param onError 错误回调
     * @param onFinish 上传完成回调
     * @param onTaskId 任务id回调
     */
    uploadFile(options: {
        key: string;
        region?: string;
        body: File;
        header?: Object;
        chunkSize?: number;
        asyncLimit?: number;
        callback?: string;
        onProgress?: Function;
        onError?: Function;
        onFinish?: Function;
        onTaskId?: Function;
    }): void;
    /**
     * 取消上传任务
     * @param taskId
     */
    cancelTask(taskId: COS.TaskId): void;
    /**
     * 暂停上传任务
     * @param taskId
     */
    pauseTask(taskId: COS.TaskId): void;
    /**
     * 重启上传任务
     * @param taskId
     */
    restartTask(taskId: COS.TaskId): void;
}