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>();
 }
Example #2
0
        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());
        }