Сохранить файл из POST-запроса на диск без сохранения в памяти с помощью Python BaseHTTPServer - PullRequest
0 голосов
/ 12 июня 2019

Я пишу HTTP-сервер в Python 2 с BaseHTTPServer, и предполагается, что он принимает несколько соединений одновременно, при каждом соединении пользователь может отправить большой файл через запрос POST. Однако, насколько я понимаю, весь запрос будет сохранен в памяти сервера перед обработкой, и несколько загруженных файлов одновременно могут превысить объем памяти на сервере. Есть ли способ вместо сохранения файла / запроса в памяти направить его непосредственно в файл на диске?

1 Ответ

0 голосов
/ 21 июня 2019

BaseHTTPServer не поставляется с обработчиком POST из коробки , поэтому вам придется реализовать его самостоятельно или найти реализацию, которая работает для вас. (Их легко найти; вот тот, который я нашел, который выглядел просто .

Ваш вопрос похож на этот вопрос об ограничении максимального размера POST ; ответ указывает на , вам необходимо прочитать все эти данные, чтобы обеспечить правильную работу браузера. Кажется, что комментарии к этому ответу указывают на использование других методов («например, AJAX и уведомления в режиме реального времени через WebSocket.» @ Dmitry-nedbaylo)

...