c# - Amazon Api 升级好像去掉了一些方法?

标签 c# amazon-s3

之前使用 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/

相关文章:

带有大括号的 C# 文本格式错误

c# - 从 IntPtr 创建 NSException

c# - SSIS Web API 连接

c# - 如何使用 Amazon S3 ResponseStream 返回 FileResult?

javascript - 适用于 javascript 的 aws-sdk 是否支持 S3 中的多部分 "Downloads"?

c# - 将 intPtr 添加到 int 在 .net Framework 3.5 上生成错误

C# - 在一个类中从一个方法继承到另一个方法?

python - 在 python 脚本中,我有插入查询,但是当我想在同一个查询中插入多个列时,它会给出错误

php - 亚马逊 AWS 上的虚拟主机(PHP + MySQL)

amazon-web-services - 带有子目录的 S3 API 网关代理