public CompleteMultipartUploadRequest(string bucket, string key, string uploadId) : base(bucket, key) { this.method = CosRequestMethod.POST; this.uploadId = uploadId; completeMultipartUpload = new CompleteMultipartUpload(); completeMultipartUpload.parts = new List <CompleteMultipartUpload.Part>(); }
public static string BuildCompleteMultipartUpload(CompleteMultipartUpload completeMultipartUpload) { StringWriter stringWriter = new StringWriter(); XmlWriterSettings xmlWriterSetting = new XmlWriterSettings(); xmlWriterSetting.Indent = true; XmlWriter xmlWriter = XmlWriter.Create(stringWriter, xmlWriterSetting); xmlWriter.WriteStartDocument(); //start to write element xmlWriter.WriteStartElement("CompleteMultipartUpload"); if (completeMultipartUpload.parts != null) { foreach (CompleteMultipartUpload.Part part in completeMultipartUpload.parts) { if (part == null) { continue; } xmlWriter.WriteStartElement("Part"); xmlWriter.WriteElementString("PartNumber", part.partNumber.ToString()); xmlWriter.WriteElementString("ETag", part.eTag); xmlWriter.WriteEndElement(); } } // end to element xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); xmlWriter.Flush(); return(RemoveXMLHeader(stringWriter.ToString())); }
public void CompleteXmlGenerate() { var g = new CompleteMultipartUpload(new[] { new UploadPartResult(1, "uploadId", "eTag1"), new UploadPartResult(2, "uploadId", "eTag2"), new UploadPartResult(3, "uploadId", "eTag3") } ); Assert.Equal(@"<CompleteMultipartUpload> <Part> <PartNumber>1</PartNumber> <ETag>eTag1</ETag> </Part> <Part> <PartNumber>2</PartNumber> <ETag>eTag2</ETag> </Part> <Part> <PartNumber>3</PartNumber> <ETag>eTag3</ETag> </Part> </CompleteMultipartUpload>", g.ToXmlString()); }