Se un server HTTP dovrebbe essere scritto in Python2.6 ha accesso locale a un file, quale sarebbe il modo più corretto per quel server di restituire il file a un client, su richiesta?Come inviare un file via HTTP, nel modo migliore, usando Python?
Diciamo che questa è la situazione attuale:
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()
Tutti i file sono archivi .zip o .rar non più grandi di un paio di megabyte.
Con la situazione attuale, i browser gestiscono il download in arrivo in modo strano. Nessun browser conosce il nome del file, ad esempio, quindi ne usa uno casuale o predefinito. (Firefox ha persino salvato il file con un'estensione .part, anche se era completa e completamente utilizzabile.)
Quale sarebbe il modo migliore per correggere questo e altri errori di cui forse non sono nemmeno a conoscenza?
Quali intestazioni non sto inviando?
Grazie!
"Nessun browser conosce il nome del file, ad esempio, quindi ne usa uno casuale o predefinito." L'intestazione Content-Disposition gestisce questo, no? - http://www.ietf.org/rfc/rfc2183.txt – rnicholson