2010-11-16 3 views
1

J'ai essayé d'obtenir un trombone pour télécharger des images sur Amazon s3, mais tout ce que je reçois est le fichier original en cours de téléchargement. Aucune vignette n'est générée. Mon modèle contient ceci:paperclip ne crée pas de vignettes sur heroku

has_attached_file :screenshot, :styles => { 
    :thumb => "100x80>", 
    :medium => "195x150>", 
    :large => "390x300>" 
    }, 
    :storage => :s3, 
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", 
    :path => ":attachment/:id/:style.:extension" 

Le fichier d'origine est en fait téléchargé, mais aucune des miniatures n'apparaît. Si je copie le src d'une image de format pouce, par exemple, je reçois

<Error> 
<Code>NoSuchKey</Code> 
<Message>The specified key does not exist.</Message> 
<Key>screenshots/8/thumb.png</Key> 
<RequestId>B8A408560070E836</RequestId> 
− 
<HostId> 
HAHUCuNxGKVDvqE3GnhGT1RcBgFGUxa35kqXmyRE+ii60DJS6r22ChDr22cOeCea 
</HostId> 
</Error> 

Ceci est en cours d'exécution sur Heroku, ce qui me force à utiliser un service comme amazon. Ce n'est pas un problème, mais toute la documentation que je peux trouver donne un aspect simple. Je ne trouve aucune dépendance (bundler est content), et j'utilise AWS depuis 2 ans maintenant, sans ces problèmes, sur un autre site, avec un compartiment différent sur le même compte. Est-ce un problème de connexion du seau au compte? J'utilise les mêmes informations d'identification que sur l'autre site. Seul le seau change.

Un couple plus de choses. Les répertoires créés dans le chemin de l'image en cours de téléchargement sont des autorisations 000 ou tout autre équivalent aws. Personne n'est autorisé à faire quoi que ce soit.

utilisant Rails 3.

+0

Y a-t-il eu des mises à jour à ce sujet? L'une des réponses ci-dessous est-elle correcte? –

Répondre

-2

J'ai installé comme un plugin paperclip, et tout fonctionne. N'oubliez pas de retirer la gemme de votre Gemfile.

2

J'ai eu le même problème et la réponse se trouve dans:

: path => ": pièce jointe /: id /: style:. Extension"

Au lieu de stocker les images le même folder_id avec des noms différents, utilise le même nom pour l'image et utilise le style pour les dossiers. Ce qui précède se traduire par:

: path => ": pièce jointe /: id /: Style /: nom de fichier"

Ainsi, au lieu d'essayer de générer quelque chose comme:

avatars/13/thumb.png 
avatars/13/medium.png 
avatars/13/large.png 

Vous obtenez ceci:

avatars/13/thumb/my_pic.png 
avatars/13/medium/my_pic.png 
avatars/13/large/my_pic.png 
Questions connexes