Comment ajouter un en-tête HTTP Cache-Control aux images que je télécharge sur Amazon S3?

StackOverflow https://stackoverflow.com/questions/1808556

  •  05-07-2019
  •  | 
  •  

Question

Je pense que je manque probablement quelque chose dans la documentation ici, mais comment puis-je spécifier que les images que j'ai téléchargées sur S3 ont un en-tête Cache-Control lorsque demandé?

Cette réponse semble suggérer que vous pouvez le faire en ajoutant des métadonnées, mais l'exemple n'est pas trop clair. Quelqu'un peut-il m'indiquer un exemple de code ou de la documentation sur la manière de procéder, s'il vous plaît, en C #?

Était-ce utile?

La solution 2

Eh bien, il s'avère que cela est possible en utilisant l'API REST pour S3, mais pas en utilisant les méthodes SOAP. Donc, la réponse pour moi est simplement «non» - à moins de réécrire tout notre code pour utiliser l'API REST.

Voir cet article du forum de support AWS .

Autres conseils

Pour ceux qui liront cette question plus récemment, vous pouvez utiliser la La propriété Headers.CacheControl de TransferUtilityUploadRequest (Remarque: au moment de la rédaction de la documentation AWS, il n’est pas évident qu’il s’agisse d’une propriété disponible).

par exemple

// 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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top