[Python-es] Fwd: CherryPy --> wsgi server --> wsgi.input --> leer archivo
Jesús Genicio
jgenicio en gmail.com
Mar Jul 23 19:15:25 CEST 2013
Ruego me dusculpéis, le he enviado por error la respuesta a MArcos Sánchez
solo.
Hola,
Perfecto, eso era lo que me faltaba
Muchas Gracias!!!!!!!
Tan simple como esto:
import cgi
ctype, pdict = cgi.parse_header( environ['CONTENT_TYPE'])
archivo= cgi.parse_multipart( environ[ 'wsgi.input'], pdict)['file'][ 0]
No es http://docs.python.org/2/**library/cgi.html#cgi.parse_**multipart<http://docs.python.org/2/library/cgi.html#cgi.parse_multipart>lo
que quieres?
>
>
>
> El mar 23 jul 2013 00:11:45 CEST, Jesús Genicio escribió:
>
>> Gracias por responder,
>>
>> Tu solución, ya la había tenido en cuenta en parte salvo el detalle
>> del espacio al inicio del campo y debido a eso no me funcionaba. No
>> obstante con archivos de texto funciona bien, pero con archivos del
>> tipo jpeg, cvs, pdf no va.
>>
>> Adjunto dos archivos recibidos para que veas el problema [1]
>>
>> Ha de haber algún tipo de libreria que sea capaz de manejar los
>> archivos enviados de este tipo y extraer los datos de la manera adecuada.
>>
>> Os adjunto el pequeño script que estoy usando para las pruebas. [2]
>>
>>
>> [1] -->
>> http://mieresdelcamin.es/**owncloud/public.php?service=**
>> files&file=%2Fjesus%2Ffiles%**2FPython%2Fpruebas.zip<http://mieresdelcamin.es/owncloud/public.php?service=files&file=%2Fjesus%2Ffiles%2FPython%2Fpruebas.zip>
>> [2] -->
>> http://mieresdelcamin.es/**owncloud/public.php?service=**
>> files&file=%2Fjesus%2Ffiles%**2FPython%2Ftercero.py<http://mieresdelcamin.es/owncloud/public.php?service=files&file=%2Fjesus%2Ffiles%2FPython%2Ftercero.py>
>> Saludos y gracias.
>>
>>
>>
>>
>> El 22 de julio de 2013 22:42, Eduard Diaz <eventgrafic en gmail.com
>> <mailto:eventgrafic en gmail.com>**> escribió:
>>
>>
>> Hola
>>
>> Para parsear la respuesta tienes varias opciones una es utilizar
>> urlparse.parse_qs
>>
>> Ejemplo, si raw_request = contenido del archivo de texto, el código
>> seria algo parecido a esto:
>>
>> import urlparse
>> d = urlparse.parse_qs(raw_request)
>> lines = d.get(' filename', [''])[0].splitlines()
>> if len(lines) > 3:
>> print '\n'.join(lines[2:-1])
>>
>> ojo ten en cuenta que la key del diccionario es ' filename' con un
>> espacio en blanco al principio,ya que hay un espacio entre el punto y
>> coma y el nombre de la variable en el Content-Disposition:.....;
>> filename="prueba.txt"
>>
>> Saludos
>> ______________________________**_________________
>> Python-es mailing list
>> Python-es en python.org <mailto:Python-es en python.org>
>>
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>
>>
>>
>>
>> ______________________________**_________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>
>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130723/527a0065/attachment.html>
Más información sobre la lista de distribución Python-es