Problema al subir archivo pequeño

Saludos amigos, el problema que tengo es al intentar subir un archivo
pequeño, que por naturaleza es convertido en StringIO, los 3 metodos
singleton: content_type, original_filename y local_path se agregan
correctamente; el valor de los 2 primeros tambien es asignado
correctamente, pero el ultimo (local_path) siempre me devuelve nil, lo
cual no me permite grabar el registro, llevo como 2 dias buscando el
porque, antes lo solucionaba hackeando la libreria cgi.rb logrando que
por mas pequeño que sea el archivo me devuelva un Tempfile, pero eso
solo funciona con webrick, con mongrel no anda; ea archivo tiene un
tamaño de 19 kib.

Gracias por su ayuda ;).
Ruben.

pequeño, que por naturaleza es convertido en StringIO, los 3 metodos
singleton: content_type, original_filename y local_path se agregan
correctamente; el valor de los 2 primeros tambien es asignado
correctamente, pero el ultimo (local_path) siempre me devuelve nil, lo
cual no me permite grabar el registro
No entiendo bien el problema… si tienes el StringIO puedes hacer
directamente un read sobre el objeto igual que si fuera un Tempfile.

Imagino que quizás lo que estás intentando tú es copiar el fichero
temporal directamente desde el filesystem en lugar de leerlo. En ese
caso es lógico que con StringIO tengas un problema porque no genera un
temporal.

Lo que puedes hacer para evitarte problemas es no copiar directamente
del filesystem y hacer tú mismo el read/write. Puedes evitarte un poco
de trabajo usando el método copy_stream de FileUtils. Sólo necesitarías
abrir el fichero para escritura y llamar a copy_stream de uno a otro.

saludos,

javier ramírez

Estamos de estreno… si necesitas llevar el control de tus gastos
visita http://www.gastosgem.com !!Es gratis!!