Django: upload di file di grandi dimensioni - elaborazione personalizzata con mod_wsgi
-
05-07-2019 - |
Domanda
Sto eseguendo upload di file utilizzando il meccanismo di caricamento file di Django con un gestore personalizzato (eseguendo la sottoclasse di django.core.files.uploadhandler.FileUploadHandler
) che esegue alcune elaborazioni aggiuntive nel
receive_data_chunk (self, raw_data, start)
.
Ero curioso di sapere quando il gestore viene effettivamente chiamato (ovvero dopo che il file è stato completamente caricato dal server o quando arriva sul socket)?
Dai miei test ho scoperto che hai accesso ai dati non appena arrivano sul socket, ma vorrei che qualcuno lo confermasse. Sono un po 'perplesso, perché pensavo che mod_wsgi
fosse un generatore di contenuti
in Apache, quindi chiamato dopo il filtri di input
che pre -elaborare la richiesta del cliente.
PS: sto usando Apache + mod_wsgi + Django.
Soluzione
In Apache, i filtri di input vengono applicati al contenuto di input solo quando il gestore richieste legge il contenuto di input. Pertanto, i filtri di input non eseguono alcuna preelaborazione, ma sono in linea con il gestore delle richieste che utilizza il contenuto di input.