En una aplicación web en la que estoy trabajando, el usuario puede crear un archivo zip de una carpeta llena de archivos. Aquí aquí está el código:Crear archivo zip para descarga instantánea
files = torrent[0].files
zipfile = z.ZipFile(zipname, 'w')
output = ""
for f in files:
zipfile.write(settings.PYRAT_TRANSMISSION_DOWNLOAD_DIR + "/" + f.name, f.name)
downloadurl = settings.PYRAT_DOWNLOAD_BASE_URL + "/" + settings.PYRAT_ARCHIVE_DIR + "/" + filename
output = "Download <a href=\"" + downloadurl + "\">" + torrent_name + "</a>"
return HttpResponse(output)
Pero esto tiene el efecto secundario desagradable de una larga espera (10 + segundos) mientras que el archivo zip se está descargando. ¿Es posible omitir esto? En lugar de guardar el archivo en un archivo, ¿es posible enviarlo directamente al usuario?
Creo que torrentflux proporciona esta característica de excat de la que estoy hablando. Ser capaz de comprimir los GB de datos y descargarlos en un segundo.
creo que esto puede ser lo que está pidiendo. – Travis
Permite objetos similares a archivos. Uno puede tener un objeto parecido a un archivo que actúa como transmisión en búfer: ¡mira mi respuesta! –