之前使用 AWSSDK v1.5.12.0 以下代码运行良好:
request.WithBucketName(_bucketName)
.WithCannedACL(S3CannedACL.PublicRead)
.WithKey(filePath).InputStream = inputStream;
request.AddHeaders(AmazonS3Util.CreateHeaderEntry("ContentType", contentType));
现在我使用的是 v2.0.8.0,出于某种原因,他们已经完全改变了 api。
我正在努力解决的部分是不再存在的 AddHeaders
方法(还有 AmazonS3Util.CreateHeaderEntry
)
我现在无法像以前那样添加 header 。
有一个只读的 Headers
属性,我找不到其他方法来添加它...我该怎么做?
最佳答案
您是对的,AWS SDK 2.X 删除了一些方法,其中之一是“AddHeader”方法。要添加 header ,您只需直接修改 header 集合。
req.Headers["expires"] = "Thu, 01 Dec 1994 16:00:00 GMT";
这是添加过期 header 的示例:
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);
关于c# - Amazon Api 升级好像去掉了一些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21673801/