71 lines
2.6 KiB
TypeScript
71 lines
2.6 KiB
TypeScript
import { Config, InternalConfig, UploadInfo } from '../upload';
|
||
import * as utils from '../utils';
|
||
interface UpHosts {
|
||
data: {
|
||
up: {
|
||
acc: {
|
||
main: string[];
|
||
backup: string[];
|
||
};
|
||
};
|
||
};
|
||
}
|
||
export declare function getUpHosts(accessKey: string, bucketName: string, protocol: InternalConfig['upprotocol']): Promise<UpHosts>;
|
||
export interface InitPartsData {
|
||
/** 该文件的上传 id, 后续该文件其他各个块的上传,已上传块的废弃,已上传块的合成文件,都需要该 id */
|
||
uploadId: string;
|
||
/** uploadId 的过期时间 */
|
||
expireAt: number;
|
||
}
|
||
/**
|
||
* @param token 上传鉴权凭证
|
||
* @param bucket 上传空间
|
||
* @param key 目标文件名
|
||
* @param uploadUrl 上传地址
|
||
*/
|
||
export declare function initUploadParts(token: string, bucket: string, key: string | null | undefined, uploadUrl: string): utils.Response<InitPartsData>;
|
||
export interface UploadChunkData {
|
||
etag: string;
|
||
md5: string;
|
||
}
|
||
/**
|
||
* @param token 上传鉴权凭证
|
||
* @param index 当前 chunk 的索引
|
||
* @param uploadInfo 上传信息
|
||
* @param options 请求参数
|
||
*/
|
||
export declare function uploadChunk(token: string, key: string | null | undefined, index: number, uploadInfo: UploadInfo, options: Partial<utils.RequestOptions & {
|
||
md5: string;
|
||
}>): utils.Response<UploadChunkData>;
|
||
export declare type UploadCompleteData = any;
|
||
/**
|
||
* @param token 上传鉴权凭证
|
||
* @param key 目标文件名
|
||
* @param uploadInfo 上传信息
|
||
* @param options 请求参数
|
||
*/
|
||
export declare function uploadComplete(token: string, key: string | null | undefined, uploadInfo: UploadInfo, options: Partial<utils.RequestOptions>): utils.Response<UploadCompleteData>;
|
||
/**
|
||
* @param token 上传鉴权凭证
|
||
* @param key 目标文件名
|
||
* @param uploadInfo 上传信息
|
||
*/
|
||
export declare function deleteUploadedChunks(token: string, key: string | null | undefined, uploadinfo: UploadInfo): utils.Response<void>;
|
||
/**
|
||
* @param {string} url
|
||
* @param {FormData} data
|
||
* @param {Partial<utils.RequestOptions>} options
|
||
* @returns Promise
|
||
* @description 直传接口
|
||
*/
|
||
export declare function direct(url: string, data: FormData, options: Partial<utils.RequestOptions>): Promise<UploadCompleteData>;
|
||
export declare type UploadUrlConfig = Partial<Pick<Config, 'upprotocol' | 'uphost' | 'region' | 'useCdnDomain'>>;
|
||
/**
|
||
* @param {UploadUrlConfig} config
|
||
* @param {string} token
|
||
* @returns Promise
|
||
* @description 获取上传 url
|
||
*/
|
||
export declare function getUploadUrl(_config: UploadUrlConfig, token: string): Promise<string>;
|
||
export {};
|