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

时间:2009-11-27 12:42:59

标签: c# web-services amazon-s3

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

This answer似乎建议您可以通过添加元数据来实现,但示例不太明确。任何人都可以指向我的代码示例或一些文档,我将如何在C#中做到这一点吗?

2 个答案:

答案 0 :(得分:6)

对于那些最近阅读此问题的人,您可以使用TransferUtilityUploadRequest Headers.CacheControl 属性(注意:撰写AWS文档时没有&#39 ;显而易见,这是一个可用的属性。)

例如

// 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);

答案 1 :(得分:3)

嗯,事实证明,这可以使用REST API for S3,但不使用SOAP方法。所以我的答案就是'不' - 除非我们重写所有代码以使用REST API。

See this AWS Support Forum post