Cómo integrar Paperclip y Mimetype-fu
-
08-07-2019 - |
Pregunta
Primero, un poco de historia, porque hay mucha interacción: estoy obteniendo correos electrónicos a través de Fetcher y procesándolos usando MMS2R para extraer los archivos adjuntos. Estos archivos adjuntos generalmente serán archivos PDF o documentos de MS Word, por lo que esperaría que su tipo de contenido
sea application / pdf
y application / msword
respectivamente, pero desafortunadamente parece que muchos programas de correo no hacen esto.
En cambio, los archivos adjuntos son application / x-pdf
y application / x-doc
. Necesito que se configuren correctamente para que scribd-fu pueda iPaper los documentos correctamente. Ahora, mimetype-fu se las arreglará para descubrir el tipo de contenido adecuado, pero por mi vida, solo puedo descubrir cómo configurar correctamente el tipo de contenido del archivo adjunto clip.
Aquí hay un fragmento del código:
mms.process do |media_type, files|
# go through each file
files.each do |filename|
# if it's a format we support, create a record
if media_type =~ /pdf/ # just pdfs for now, to reduce confusion
File.open(filename) do |tempfile|
# Somewhere in here I'd like to change filename.content_type
# to the proper type using mimetype-fu
# except doing tempfile.content_type = whatever doesn't seem to work.
thing = Thing.new
thing.document = tempfile
thing.save!
end
end
end
end
Cualquier ayuda sería apreciada, porque he estado golpeándome la cabeza contra una pared intentando todo tipo de cosas para intentar que esto funcione. Ya probé estos enlaces sin éxito o sin asimilar lo que hay que hacer:
- http://gist.github.com/55009/
- http://railsforum.com/viewtopic.php?id=27448
- http://github.com/dbackeus/paperclip/commit/a514bd03664cfc396f3bfgfc6aaaaaaaaaaaaaaaan
¡Muchas gracias!
Solución
¿Puedes hacerlo?
thing.document_content_type = whatever
o estás haciendo tu scribd-fu en document = o algo así?