ruby on rails - images - Acceso al archivo temporal del clip cuando se utiliza la opción de almacenamiento s3 en heroku
s3 images (1)
Estoy usando la gema Paperclip para cambiar el tamaño de subir fotos y almacenarlas en Amazon S3. Necesito acceso a la foto redimensionada para pasarla también a otro servicio web, durante el ciclo de vida de la solicitud de carga.
Sospecho que hay un archivo temporal creado en algún lugar que utiliza imagemagik antes de que la foto se cargue en s3. ¿Cómo puedo acceder a él?
De acuerdo con el archivo Léame de Paperclip, hay algunas devoluciones de llamada a las que llama después y antes del procesamiento.
Para cada archivo adjunto:
- before_post_process
- after_post_process
Solo para un archivo adjunto específico :
- before_ [archivo adjunto] _post_process
- after_ [archivo adjunto] _post_process
Creo que en tu caso deberías usar una de las devoluciones de llamada after
para obtener la foto redimensionada. Entonces deberías poder acceder al archivo con queued_for_write
. Por ejemplo:
class MyModel < ActiveRecord::Base
has_attached_file :photo, :styles => { :small => "300x300>" }
after_post_process :send_photo
private
def send_photo
path = photo.queued_for_write[:small].path
# upload the photo to the ws here
end
end