Django: загрузка больших файлов - пользовательская обработка с помощью mod_wsgi

StackOverflow https://stackoverflow.com/questions/1802784

Вопрос

Я делаю выгрузку файлов с использованием механизма выгрузки файлов Django с пользовательским обработчиком (путем подкласса django.core.files.uploadhandler.FileUploadHandler ), который выполняет некоторую дополнительную обработку в Функция receive_data_chunk (self, raw_data, start) .

Мне было любопытно, когда на самом деле вызывается обработчик (то есть после того, как файл был полностью загружен сервером или когда он поступил в сокет)?

Из моих тестов я узнал, что у вас есть доступ к данным по мере их поступления в сокет, но я хотел бы, чтобы кто-то подтвердил это. Я немного озадачен этим, потому что я думал, что mod_wsgi был генератором контента в Apache, поэтому вызывался после входных фильтров , которые предварительно обработать запрос клиента.

PS: я использую Apache + mod_wsgi + Django.

Это было полезно?

Решение

В Apache фильтры ввода применяются к содержимому ввода только тогда, когда обработчик запроса читает содержимое ввода. Таким образом, никакая предварительная обработка не выполняется входными фильтрами, она выполняется встроенным обработчиком запросов, потребляющим входной контент.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top