2012-08-22 1 views
1

J'utilise django-stockages backend et je n'ai jamais utilisé Amazon S3 auparavant. J'ai migré vers Amazon S3 en téléchargeant les fichiers via le gestionnaire S3 de Firefox.Liaison à un fichier téléchargé dans Django avec Amazon S3

Le problème est, avec ce code:

<a href="{{ MEDIA_URL }}{{ g.photo }}" class="lightbox" title="{{ g.description }}"> 
    {% thumbnail g.photo '95x95' crop="center" as im %} 
     <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}" /> 
    {% endthumbnail %} 
</a> 

La demande générée ne comprend pas les params nécessaires à la demande GET, comme la signature. Cependant, les vignettes générées par sorl fonctionnent!

Y at-il quelque chose qui me manque en ce qui concerne le téléchargement de mes fichiers en S3? Y a-t-il du code additionnel à ajouter dans le href? Pourquoi est-il possible de récupérer les fichiers et de créer une vignette?

+0

Certaines informations sont manquantes: Les fichiers de votre compartiment S3 sont-ils privés? Sinon, vous n'avez pas besoin de signature. À quoi correspond votre MEDIA_URL? – schneck

+0

Je ne pense pas qu'ils le sont. Parce qu'ils sont affichés correctement par sorl. Mais le lien vers l'image originale (non-résolu) ne fonctionne pas. – yretuta

+0

Eh bien, pouvez-vous afficher votre paramètre MEDIA_URL? Et montrez ce que {{im.url}} affiche dans votre code html. – schneck

Répondre

1

Le fichier n'est pas accessible au public. Cela peut avoir eu lieu lors du téléchargement ou des restrictions de compartiment dues. Vous pouvez soit modifier les paramètres ACL dans S3 Manager pour ce fichier en accès public (si ce fichier doit uniquement être publiquement lisible), ou créer une stratégie Bucket pour les autorisations détaillées du bucket - vous pouvez le faire dans la console AWS.

Si un fichier du compartiment doit être public, vous devez modifier le paramètre ACL par défaut de votre client S3 en conséquence.

+0

merci! Je devais juste faire les fichiers ou le répertoire qu'ils sont en public! – yretuta

Questions connexes