2011-01-28 26 views
9

¿Es posible obtener una imagen a través de la URL con PaperClip? Es posible con fleximage, pero fleximage no tiene soporte para Rails3, así que cambié a clip.Paperclip recuperar imagen directamente a través de la url

Actualmente, estoy buscando la imagen en curl, guardándola en el disco duro y cargándola a través de image_file del clip.

No he encontrado una solución real a través de google, por lo que espero que pueda ayudarme.

+0

Está usando 'fetch' para indicar 'cargar'. La pregunta sería mucho más clara si dejara en claro que quiere decir "cargar" y no "descargar". Algunas de las respuestas asumen que estás preguntando cómo descargarlas. –

Respuesta

1

¿El método <modelname>.<attachmentname>.url no hace lo que está buscando?

En otras palabras, si el modelo se llama Foo, y se configura a continuación has_attached_file :barfoo.bar.url debe dar la url de la imagen, que se puede poner en un image_tag o una link_to o como se quiera.

¿Podría aclarar lo que quiere decir si eso no es lo que está buscando?

12

Sí, esto es posible y sorprendentemente simple.

En su modelo:

#we use this to get the image. 
require 'rest-open-uri' 
Class Model << ActiveRecord::Base 
has_attached_file :picture 

#Get the picture from a given url. 
def picture_from_url(url) 
    self.picture = open(url) 
end 

Y entonces usted puede hacer algo como esto:

#controller 
@model.picture_from_url(<Your URL here>) 

Y porque hemos salvado la imagen con el resto del objeto. Usted sólo puede usar esto en sus puntos de vista:

<%= image_tag @model.picture.url %> 

Espero que esto ayude!

+0

¿Pero también es posible descargar una imagen desde una URL determinada para tener un archivo independiente en el servidor propio? – mrmnmly

+0

Esto crea un archivo independiente en su propio servidor. La única diferencia con un formulario de varias partes es que el flujo de datos proviene de otra fuente (por ejemplo, url en este caso). Los postprocesadores de Paperclip patearán y redimensionarán y guardarán las imágenes –

Cuestiones relacionadas