Si un posible servidor HTTP escrito en Python2.6 tiene acceso local a un archivo, ¿cuál sería la forma más correcta para que ese servidor devuelva el archivo a un cliente, a petición?¿Cómo enviar un archivo a través de HTTP, la mejor manera, usando Python?
Digamos que esta es la situación actual:
header('Content-Type', file.mimetype)
header('Content-Length', file.size) # file size in bytes
header('Content-MD5', file.hash) # an md5 hash of the entire file
return open(file.path).read()
Todos los archivos son archivos .zip o .rar no más grandes que un par de megabytes.
Con la situación actual, los navegadores manejan la descarga entrantemente extraña. Ningún navegador conoce el nombre del archivo, por ejemplo, así que usan uno aleatorio o predeterminado. (Firefox incluso guardó el archivo con la extensión .part, aunque fue completo y completamente utilizable).
¿Cuál sería la mejor manera de solucionar este y otros errores que aún no conozco?
¿Qué encabezados no estoy enviando?
Gracias!
"Ningún navegador conoce el nombre del archivo, por ejemplo, así que usan uno aleatorio o predeterminado". El encabezado Content-Disposition maneja esto, ¿no? - http://www.ietf.org/rfc/rfc2183.txt – rnicholson