2009-11-27 4 views
1

Я думаю, что, вероятно, я просто что-то пропустил в документах, но как я могу указать, что изображения, которые я загружаю на S3, имеют заголовок Cache-Control по запросу?Как добавить HTTP-заголовок Cache-Control к изображениям, которые я загружаю в Amazon S3?

This answer, похоже, предлагает вам сделать это, добавив метаданные, но пример не слишком ясен. Может ли кто-нибудь указать мне на образец кода или какую-нибудь документацию о том, как я буду делать это на C#, пожалуйста?

ответ

3

Ну, оказывается, что это возможно с использованием REST API для S3, но не с использованием методов SOAP. Поэтому ответ для меня просто «нет» - если мы не перепишем весь наш код для использования REST API.

See this AWS Support Forum post.

4

Для тех, кто читает этот вопрос в последнее время, вы можете использовать Headers.CacheControl имущество, TransferUtilityUploadRequest «s (Примечание: На момент написания документации 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);