如何为我上传到Amazon S3的图像添加Cache-Control HTTP标头?

Mar*_*ell 2 c# web-services amazon-s3

我想我可能只是缺少文档中的内容,但是如何指定上传到S3的图像在请求时有一个Cache-Control标头?

这个答案似乎暗示你可以通过添加元数据来实现,但这个例子并不太清楚.任何人都可以指向我的代码示例或我将如何在C#中执行此操作的一些文档吗?

mip*_*ips 7

对于那些最近阅读此问题的人,您可以使用TransferUtilityUploadRequestHeaders.CacheControl属性(注意:在撰写AWS文档时,并不明显这是一个可用的属性).

例如

// Make the upload request with the required cache and header parameters
var fileTransferUtilityRequest = new TransferUtilityUploadRequest
{
   BucketName = BucketName,
   FilePath = fileName,
   StorageClass = S3StorageClass.Standard,
   Key = keyName,
   CannedACL = S3CannedACL.PublicRead,
   ContentType = contentType,
};

fileTransferUtilityRequest.Headers.CacheControl = "max-age=604800";
var fileTransferUtility = new TransferUtility(...);
fileTransferUtility.Upload(fileTransferUtilityRequest);
Run Code Online (Sandbox Code Playgroud)