rails images aws awesome ruby-on-rails heroku paperclip radiant

ruby-on-rails - images - rails heroku aws



Paperclipped en Heroku? (5)

Tenía curiosidad si alguien podría ser recortado trabajando en Heroku sin usar S3. Supongo que Heroku es un sistema de solo lectura, pero debe haber alguna manera de guardar imágenes allí.


Como un lado, esta es también la misma razón por la cual SASS requiere un complemento en Heroku, acceso limitado al disco. Uso Paperclip en varias aplicaciones en Heroku, como otros han dicho, S3 es el camino a seguir.


Esto es para alguien como yo que no posee una tarjeta de crédito y aún desea que esto funcione, ya que necesita proporcionar credenciales de tarjeta de crédito para usar S3. Claudinary Gem aquí permite que los modelos de Rails gestionados a través de Paperclip almacenen imágenes y archivos activos en una instancia de Cloudinary. Solo tuve que agregar el archivo yaml a mi directorio config y especificar el almacenamiento, ruta en mi modelo de la siguiente manera.

has_attached_file :image, :storage => :cloudinary, :path => '':id/:style/:filename''

Consulte el enlace de arriba para más detalles.


No puede escribir en el sistema de archivos de Heroku, por lo que no, no hay forma de guardar las imágenes de la forma que desee. Tus opciones están usando un servicio como S3 o almacenándolos en la base de datos. Recomiendo usar S3, porque las bases de datos no están optimizadas para el almacenamiento de archivos. Vale la pena leer la documentación de Heroku sobre las cargas de archivos .


Quizás Amazon EBS se puede usar con Heroku, ¿o es de muy bajo nivel?


Puede guardar imágenes en los directorios de log y tmp .

Sin embargo, esa es una idea horrible y horrible.

  • Si git push heroku , su aplicación se desplegará en un nuevo banco de pruebas. El nuevo banco de pruebas no tendrá las imágenes, y las imágenes desaparecerán para siempre.

  • Si tiene dos dynos, y un dyno guarda la imagen, la imagen no estará disponible para el próximo banco de pruebas.

Entonces, de hecho, no hay una buena manera de guardar imágenes en el sistema de archivos.

Si lo desea, puede escribir su propio adaptador para Paperclip que almacenará imágenes en la base de datos.

Pero realmente, debes almacenar imágenes en S3 cuando usas Paperclip en Heroku, porque es la manera fácil y sencilla de hacerlo.