2017-08-17 1 views
0

J'ai un seau AWS S3 sur lequel je stocke des images de produits. Je vends sur plusieurs canaux de vente et utilise ChannelAdvisor pour partager toutes mes données produit sur tous les différents sites. Mes URL d'image sont envoyées via ChannelAdvisor aux sites. Amazon lit bien mes images, mon site sur Shopify ne lit pas les images du tout.Hébergement d'images Amazon S3 avec Shopify

Je pense que c'est parce que les images sont partagées. Si vous mettez l'URL de l'image dans votre navigateur, il télécharge l'image, mais je veux que l'image soit affichée dans le navigateur. Je pense que c'est mon problème avec Shopify. Ci-dessous ma politique AWS actuelle, ma question est comment puis-je changer la politique ou les URLs partagées pour que le chargement d'AWS dans le navigateur ne télécharge pas l'image?

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
     { 
      "Sid": "AllowPublicRead", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::mybucket-name/*" 
     } 
    ] 
} 

Répondre

0

Ceci n'est pas une fonction de la politique, mais plutôt une des métadonnées. Les navigateurs utilisent l'en-tête de réponse Content-Type pour déterminer le type de fichier entrant et comment le gérer. Par exemple, pour un fichier .png, le type de contenu doit être défini sur image/png. Vous définissez ceci lors du téléchargement des fichiers sur S3.

+0

Cela fonctionne, mais j'ai plus de 20 000 images. Y a-t-il un moyen de changer les métadonnées pour toutes les images à la fois? – Mullenb

+0

Vous devrez le script en utilisant aws-cli ou l'un des SDK. Il n'y a pas de façon intégrée de faire des mises à jour en masse. –