diff --git a/oss/source/custom-code/ossClient.ts b/oss/source/custom-code/ossClient.ts index b55b9cbc..2de02093 100644 --- a/oss/source/custom-code/ossClient.ts +++ b/oss/source/custom-code/ossClient.ts @@ -146,7 +146,7 @@ export class OssClient extends BaseClient { /** * @deprecated Use the `uploadObject` method instead. */ - public async uploadObjectAsync(bucketKey: string, objectKey: string, sourceToUpload: Buffer | string, optionalArgs?: { cancellationToken?: AbortController, requestIdPrefix?: string, accessToken?: string, onProgress?: (percentCompleted: number) => void }): Promise { + public async uploadObjectAsync(bucketKey: string, objectKey: string, sourceToUpload: Buffer | string, optionalArgs?: { cancellationToken?: AbortController, requestIdPrefix?: string, accessToken?: string,xAdsMetaContentType?: string, xAdsMetaContentDisposition?: string, xAdsMetaContentEncoding?: string, xAdsMetaCacheControl?: string, onProgress?: (percentCompleted: number) => void }): Promise { if (!optionalArgs?.accessToken && !this.authenticationProvider) { throw new Error("Please provide a valid access token or an authentication provider"); } @@ -156,10 +156,10 @@ export class OssClient extends BaseClient { var response; if (typeof sourceToUpload === 'string') { var buffer = await fs.readFile(sourceToUpload); - response = await this.ossFileTransfer.upload(bucketKey, objectKey, buffer, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.onProgress); + response = await this.ossFileTransfer.upload(bucketKey, objectKey, buffer, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.xAdsMetaContentType, optionalArgs?.xAdsMetaContentDisposition, optionalArgs?.xAdsMetaContentEncoding, optionalArgs?.xAdsMetaCacheControl, optionalArgs?.onProgress); } else { - response = await this.ossFileTransfer.upload(bucketKey, objectKey, sourceToUpload, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.onProgress); + response = await this.ossFileTransfer.upload(bucketKey, objectKey, sourceToUpload, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.xAdsMetaContentType, optionalArgs?.xAdsMetaContentDisposition, optionalArgs?.xAdsMetaContentEncoding, optionalArgs?.xAdsMetaCacheControl, optionalArgs?.onProgress); } return response.content; } @@ -177,7 +177,7 @@ export class OssClient extends BaseClient { * @throws {RequiredError} * @memberof OSSApiInterface */ - public async uploadObject(bucketKey: string, objectKey: string, sourceToUpload: Buffer | string, optionalArgs?: { cancellationToken?: AbortController, requestIdPrefix?: string, accessToken?: string, onProgress?: (percentCompleted: number) => void }): Promise { + public async uploadObject(bucketKey: string, objectKey: string, sourceToUpload: Buffer | string, optionalArgs?: { cancellationToken?: AbortController, requestIdPrefix?: string, accessToken?: string, xAdsMetaContentType?: string, xAdsMetaContentDisposition?: string, xAdsMetaContentEncoding?: string, xAdsMetaCacheControl?: string, onProgress?: (percentCompleted: number) => void }): Promise { if (!optionalArgs?.accessToken && !this.authenticationProvider) { throw new Error("Please provide a valid access token or an authentication provider"); } @@ -187,10 +187,10 @@ export class OssClient extends BaseClient { var response; if (typeof sourceToUpload === 'string') { var buffer = await fs.readFile(sourceToUpload); - response = await this.ossFileTransfer.upload(bucketKey, objectKey, buffer, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.onProgress); + response = await this.ossFileTransfer.upload(bucketKey, objectKey, buffer, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.xAdsMetaContentType, optionalArgs?.xAdsMetaContentDisposition, optionalArgs?.xAdsMetaContentEncoding, optionalArgs?.xAdsMetaCacheControl, optionalArgs?.onProgress); } else { - response = await this.ossFileTransfer.upload(bucketKey, objectKey, sourceToUpload, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.onProgress); + response = await this.ossFileTransfer.upload(bucketKey, objectKey, sourceToUpload, optionalArgs?.accessToken, optionalArgs?.cancellationToken || new AbortController, optionalArgs?.requestIdPrefix, optionalArgs?.xAdsMetaContentType, optionalArgs?.xAdsMetaContentDisposition, optionalArgs?.xAdsMetaContentEncoding, optionalArgs?.xAdsMetaCacheControl, optionalArgs?.onProgress); } return response.content; } diff --git a/oss/source/custom-code/ossFileTransfer.ts b/oss/source/custom-code/ossFileTransfer.ts index 60aa6fe7..d2b72a05 100644 --- a/oss/source/custom-code/ossFileTransfer.ts +++ b/oss/source/custom-code/ossFileTransfer.ts @@ -52,7 +52,7 @@ export class OSSFileTransfer implements IOSSFileTransfer { } } - public async upload(bucketKey: string, objectKey: string, sourceToUpload: Buffer, accessToken: string, cancellationToken: AbortController,requestIdPrefix: string = '', onProgress?: (percentCompleted: number) => void): Promise { + public async upload(bucketKey: string, objectKey: string, sourceToUpload: Buffer, accessToken: string, cancellationToken: AbortController,requestIdPrefix: string = '', xAdsMetaContentType?: string , xAdsMetaContentDisposition?: string , xAdsMetaContentEncoding?: string, xAdsMetaCacheControl?: string, onProgress?: (percentCompleted: number) => void): Promise { const requestId: any = await this.handleRequestId(requestIdPrefix, bucketKey, objectKey); const retryCount: number = this.configuration.getRetryCount(); this.logger.logDebug(`${requestId} Config retry setting was: ${retryCount}`); @@ -121,7 +121,12 @@ export class OSSFileTransfer implements IOSSFileTransfer { "application/json", { uploadKey: uploadKey - } as Completes3uploadBody); + } as Completes3uploadBody, + xAdsMetaContentType, + xAdsMetaContentDisposition, + xAdsMetaContentEncoding, + xAdsMetaCacheControl + ); onProgress?.(100); return completeResponse; }