2014-02-10 28 views
2

以前使用AWSSDK v1.5.12.0下面的代码只是正常工作:Amazon Api升级似乎已经删除了一些方法?

request.WithBucketName(_bucketName) 
     .WithCannedACL(S3CannedACL.PublicRead) 
     .WithKey(filePath).InputStream = inputStream; 

request.AddHeaders(AmazonS3Util.CreateHeaderEntry("ContentType", contentType)); 

现在我使用v2.0.8.0出于某种原因,他们已经完全改变了API。

我挣扎的部分是AddHeaders方法不再存在(也AmazonS3Util.CreateHeaderEntry

我现在无法添加标题,因为我以前一样。

有一个只读Headers财产,我无法找到另一种方式来添加它......我该怎么办呢?

+0

我不知道,但AWS API文档任何线索列出'Amazon.S3.Model.HeadersCollection'它可能就是你要找的 – Alex

+0

正如我上面提到的标题集合是只读的。 – shenku

+2

V2升级非常广泛。你是否检查了迁移指南 - http://docs.aws.amazon.com/AWSSdkDocsNET/latest/DeveloperGuide/net-dg-migration-guide-v2.html –

回答

1

你是正确的,AWS SDK 2.X去掉了一些方法,一个是“AddHeader的”方法。要添加页眉您只需直接修改集合。

req.Headers["expires"] = "Thu, 01 Dec 1994 16:00:00 GMT";

这里是例如添加的Expires头:

var client = new Amazon.S3.AmazonS3Client(AWS_Key, AWS_SecretKey); 

var req = PutObjectRequest req= new PutObjectRequest() 
{ 
    BucketName = "mybucket", 
    Key = "myfile.txt", 
    FilePath = @"C:\myfile.txt" 
}; 

req.Headers["expires"] = "Thu, 01 Dec 1994 16:00:00 GMT"; 

client.PutObject(req); 
相关问题