Set Cache-Control en-Tête HTTP pour les Objets S3 à partir de PHP SDK AWS
J'en utilisant le Amazon SDK pour PHP et en essayant de mettre en Cache en en-Tête de contrôle sur l'image. Lorsque j'essaie de l'ajouter via des Métadonnées = array("Cache-Control") elle la change d'être x-amz-méta-cache-control quand je me connecter pour le S3 dans un seau, et quand je télécharge le fichier, il n'y a pas de Cache-control set. Mais si je modifier manuellement ce paramètre, le Cache-control fonctionne parfaitement. Est-il un paramètre que je manque que je peux utiliser pour définir les en-Têtes de Requête HTTP par programme à télécharger? Je suis à l'aide de la PutObject méthode. Je crois que le kit SDK AWS est à partir de 2013.
Pouvez-vous s'il vous plaît signalez ma réponse comme "accepté" si cela vous a aidé.
OriginalL'auteur user814584 | 2013-10-16
Vous devez vous connecter pour publier un commentaire.
De contrôle du cache n'est pas défini par les "Métadonnées" index", CacheControl" est au même niveau que les "Métadonnées", qui n'est pas contenue en son sein.
http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html#_putObject
Vous pouvez utiliser quelque chose comme ce que votre tableau de configuration pour le putObject() la méthode...
Pour la méthode upload ()...
Aussi, il est intéressant de souligner que
upload()
se termineraputObject()
pour les fichiers de 5 MO en taille, sinon, il va lancer un multipart de téléchargement à la demande.OriginalL'auteur Scuzzy
Si vous souhaitez ajouter le
CacheControl
en-tête à un élément déjà dans votre seau, utiliser le SDK decopyObject
méthode. Définir laMetadataDirective
param pour REMPLACER de faire le point écraser lui-même.J'ai remarqué une chose bizarre: j'ai dû mettre le
ContentType
en-tête de trop, même si c'était déjà réglé. Sinon, l'image ne serait pas d'affichage en ligne dans le navigateur, mais être offerts en téléchargement.OriginalL'auteur RonaldPK