Question

J'utilise Amazon S3 pour stocker et servir le contenu de l'utilisateur pour les comptes d'utilisateurs. J'ai besoin la capacité de servir les fichiers soit en ligne (parfois urls pour les images seront dans les messages de blog, etc.) ou en téléchargement. Par défaut, lorsque le téléchargement d'un fichier à mon seau S3, le fichier n'a pas ensemble Content-Disposition (ce qui est bien, car il serveur en ligne tant que le navigateur reconnaît le MIME du fichier), mais parfois je devrai régler le Content- disposition à l'attachement pour télécharger le fichier.

Utilisation de gemme Rails / S3, est-il possible d'envoyer une demande d'Amazon pour indiquer que le fichier doit être envoyé avec l'ensemble Content-Disposition à la fixation (ou vice-versa) pour seulement cette demande? Peut-être il pourrait utiliser une sorte de jeton (en référence à un jeton pour la demande, généralement utilisé pour les lectures authentifiées ... me demandais si cela peut me aider dans cette situation aussi)? En utilisant la gemme S3, je sais comment configurer et enregistrer le Content-Disposition pour chaque fichier, mais qui causeraient le fichier toujours être téléchargé et ne pouvait pas être utilisé comme une ligne d'image (non testé).

Court d'avoir deux fichiers (l'un avec et sans l'ensemble Content-Disposition = « Télécharger »), des idées? Merci à l'avance.

PS I à l'aide de rails Rails 2, attachment_fu et aws-s3 petit bijou (je ne peux pas changer ceux-ci parce que l'application ci-dessus mentionné est en dehors d'une, l'application déjà en cours d'exécution beaucoup plus et je sais que des conflits existent entre les Aws-s3 et joyau aws_right)

Était-ce utile?

La solution

Juste au cas où quelqu'un trébuche sur ce vieux poste, l'API d'Amazon permet maintenant de changer le Content-Disposition des fichiers stockés sur S3. Lire l'annonce ici.

Autres conseils

Je crois que le Content-Disposition est défini sur le téléchargement, donc si vous ne voulez pas deux copies du fichier chacun avec leur propre Content-Disposition, d'une façon serait le streamer à partir d'un contrôleur à l'aide send_file http://api.rubyonrails.org/classes/ActionController/Streaming méthode i-send_file .html #

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top