using System;
using System.Collections.Generic;
using System.Text;
using COSXML.Model.Tag;
using COSXML.Transfer;
namespace COSXML.Model.Object
{
///
/// 使用者用表单的形式将文件(Object)上传至指定 Bucket 中.
///
///
public sealed class PostObjectResult : CosResult
{
///
/// 对象的eTag
///
public string eTag;
///
/// 若指定了上传 success_action_redirect 则返回对应的值,若无指定则返回对象完整的路径
///
public string location;
///
/// post object返回的信息
///
///
public PostResponse postResponse;
internal override void InternalParseResponseHeaders()
{
List values;
this.responseHeaders.TryGetValue("ETag", out values);
if (values != null && values.Count > 0)
{
eTag = values[0];
}
this.responseHeaders.TryGetValue("Location", out values);
if (values != null && values.Count > 0)
{
location = values[0];
}
}
internal override void ParseResponseBody(System.IO.Stream inputStream, string contentType, long contentLength)
{
if (contentLength <= 0) return;
postResponse = new PostResponse();
XmlParse.ParsePostResponse(inputStream, postResponse);
}
public override string GetResultInfo()
{
return base.GetResultInfo() + (postResponse == null ? "" : ('\n' + postResponse.GetInfo()));
}
}
}