public async Task<CompleteMultipartUploadResult> CompleteMultipartUpload(CompleteMultipartUploadModel completeMultipartUploadModel)
{
CompleteMultipartUploadResult result = null;
OssHttpRequestMessage httpRequestMessage = null;
HttpResponseMessage response = null;
try
{
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("uploadId", completeMultipartUploadModel.UploadId);
httpRequestMessage = new OssHttpRequestMessage(completeMultipartUploadModel.Bucket, completeMultipartUploadModel.Key, parameters);
httpRequestMessage.Method = HttpMethod.Post;
httpRequestMessage.Headers.Date = DateTime.UtcNow;
XmlStreamSerializer<CompleteMultipartUploadModel> serializer = new XmlStreamSerializer<CompleteMultipartUploadModel>();
// FileStream fileStream = new FileStream("1.xml", FileMode.Open);
//httpRequestMessage.Content = new StreamContent(fileStream);
httpRequestMessage.Content = new StreamContent(serializer.Serialize(completeMultipartUploadModel));
OssRequestSigner.Sign(httpRequestMessage, networkCredential);
response = await httpClient.SendAsync(httpRequestMessage);
if (response.IsSuccessStatusCode == false)
{
await ErrorResponseHandler.Handle(response);
}
var temp = DeserializerFactory.GetFactory().CreateCompMultiUploadDeserializer();
result = await temp.Deserialize(response);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (httpRequestMessage != null)
httpRequestMessage.Dispose();
if (response != null)
response.Dispose();
}
return result;
}