Come faccio ad aggiungere un'intestazione HTTP Cache-Control alle immagini caricate su Amazon S3?
-
05-07-2019 - |
Domanda
Penso che probabilmente qui manchi qualcosa nei documenti, ma come faccio a specificare che le immagini che carico su S3 hanno un'intestazione Cache-Control quando richiesto?
Questa risposta sembra suggerire che puoi farlo aggiungendo metadati, ma l'esempio non è troppo chiaro. Qualcuno può indicarmi un esempio di codice o una documentazione di come lo farei in C # per favore?
Soluzione 2
Bene, si scopre che questo è possibile usando l'API REST per S3, ma non usando i metodi SOAP. Quindi la risposta per me è semplicemente "no", a meno che non riscriviamo tutto il nostro codice per utilizzare l'API REST.
Altri suggerimenti
Per coloro che leggono questa domanda più di recente, è possibile utilizzare La proprietà Headers.CacheControl di TransferUtilityUploadRequest (Nota: al momento della stesura della documentazione di AWS non è ovvio che si tratta di una proprietà disponibile).
es
// 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);