oak-general-business/es/utils/cos/s3.backend.d.ts

41 lines
1.8 KiB
TypeScript

import { EntityDict } from '../../oak-app-domain';
import { CosBackend } from '../../types/Cos';
import S3 from './s3';
import { OpSchema } from '../../oak-app-domain/ExtraFile/Schema';
import { BRC } from '../..';
export default class S3Backend extends S3 implements CosBackend<EntityDict> {
private getConfigAndInstance;
composeFileUrlBackend(options: {
application: EntityDict['application']['Schema'];
extraFile: OpSchema;
context: BRC<EntityDict>;
style?: string;
}): Promise<string>;
formUploadMeta(application: EntityDict['application']['Schema'], extraFile: OpSchema): Promise<void>;
checkWhetherSuccess(application: EntityDict['application']['Schema'], extraFile: OpSchema): Promise<boolean>;
removeFile(application: EntityDict['application']['Schema'], extraFile: OpSchema): Promise<void>;
composeChunkUploadInfo(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<{
uploadId: string;
chunkSize: number;
partCount: number;
parts: {
partNumber: number;
uploadUrl: string;
formData: {};
}[];
}>;
/**
* 完成分片上传后的合并操作
*/
mergeChunkedUpload(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<void>;
abortMultipartUpload(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<void>;
listMultipartUploads(application: EntityDict['application']['Schema'], extraFile: OpSchema, context: BRC<EntityDict>): Promise<{
parts: Array<{
partNumber: number;
etag: string;
size: number;
lastModified: Date;
}>;
}>;
}