using System; using System.Collections.Generic; using System.Text; using COSXML.Common; using COSXML.CosException; namespace COSXML.Model.Object { /// /// 舍弃一个分块上传并删除已上传的块 /// /// public sealed class AbortMultipartUploadRequest : ObjectRequest { /// /// 分片块的UploadId,使用 Initiate Multipart Upload 接口初始化分片上传时会得到一个 uploadId,该 ID 不但唯一标识这一分块数据,也标识了这分块数据在整个文件内的相对位置 /// private string uploadId; public AbortMultipartUploadRequest(string bucket, string key, string uploadId) : base(bucket, key) { this.uploadId = uploadId; this.method = CosRequestMethod.DELETE; } /// /// 分片块上传的UploadId /// /// public void SetUploadId(string uploadId) { this.uploadId = uploadId; } /// /// 分片块上传的UploadId /// /// uploadId public string GetUploadId() { return uploadId; } public override void CheckParameters() { if (requestUrlWithSign != null) return; base.CheckParameters(); if (uploadId == null) { throw new CosClientException((int)CosClientError.INVALID_ARGUMENT, "uploadId is null"); } } protected override void InternalUpdateQueryParameters() { try { this.queryParameters.Add("uploadId", uploadId); } catch (ArgumentException) { this.queryParameters["uploadId"] = uploadId; } } } }