По умолчанию Django помещает данные загруженного файла в память, если она меньше 2,5 МБ. Все, что больше, будет записано в каталог сервера /tmp
, а затем скопировано по завершении передачи. Многие параметры загрузки файлов в Django могут быть настроены, подробности доступны в документации . Вы также можете настроить обработку файлов, и вам наверняка захочется это сделать.
Прежде чем мы рассмотрим какие-либо технические ограничения, загрузка таких больших файлов с помощью браузера даст пользователю очень плохой опыт. Нет отзывов о том, как происходит передача (хотя Google Chrome отображает статус загрузки в процентах), и нет возможности приостановить или возобновить передачу.
Вы также можете столкнуться с проблемами на сервере. Помимо того, что каждый поток будет занят обработкой потоковых данных, у вас есть время, необходимое системе для копирования результирующего файла из /tmp
в правильное местоположение.
Если вы не уверены, что можете предвидеть любую проблему, которая может возникнуть у сервера при загрузке, я бы предположил, что это плохая идея. С помощью Google довольно сложно найти какую-либо информацию об этом, и, похоже, существует множество обращений, описывающих проблемы с загрузкой больших файлов.
Хотя Django технически способен принимать загруженные файлы такого размера, очень плохой пользовательский опыт и технические трудности означают, что это может быть не лучшим подходом. Рассматривали ли вы использование специального программного обеспечения для передачи файлов?