Estoy trabajando en una aplicación web en Python/Twisted.HTTP Descargar archivo muy grande
Quiero que el usuario pueda descargar un archivo muy grande (> 100 Mb). No quiero cargar todo el archivo en la memoria (del servidor), por supuesto.
lado del servidor tengo esta idea:
...
request.setHeader('Content-Type', 'text/plain')
fp = open(fileName, 'rb')
try:
r = None
while r != '':
r = fp.read(1024)
request.write(r)
finally:
fp.close()
request.finish()
que esperaba que esto funcione, pero tengo problemas: estoy probando con FF ... Parece que el navegador me hagas esperar hasta que el archivo es completado descargado, y luego tengo el cuadro de diálogo abrir/guardar.
Yo esperaba que el cuadro de diálogo de inmediato, y luego la barra de progreso en la acción ...
Tal vez tengo que añadir algo en la cabecera HTTP ... Algo así como el tamaño del archivo?
Probablemente obtendrá un mejor rendimiento y menos carga en el servidor mediante la lectura y el envío trozos más grandes ... experimente con valores alrededor de 4-16k para encontrar lo que funciona mejor para sus circunstancias. – dcrosta
¿Desea aceptar una de las respuestas? –