Предел загрузки файлов в HTTP - PullRequest
14 голосов
/ 17 декабря 2009

Существует ли теоретически какое-либо ограничение на размер файла, который может быть загружен клиентом с помощью загрузки файла в браузере с использованием формы HTML?

Я излагаю это, потому что у Flash есть недостаток, когда наибольший размер файла, который вы можете загрузить, меньше размера доступной оперативной памяти. Мне интересно, есть ли такие ограничения в браузерах ...

Ответы [ 4 ]

11 голосов
/ 17 декабря 2009

Если загрузка файла превышает 2 ГБ, у вас возникнут проблемы с загрузкой HTTP.

Ограничение «доступной оперативной памяти» предполагает, что данные файла высасываются в память, что очень неэффективно, особенно при увеличении размера файла. Потоки гораздо эффективнее для этого.

4 голосов
/ 07 сентября 2012

Здесь - это результат исследования загрузки в зависимости от веб-браузеров.

На данный момент только Google Chrome & Opera могут выполнить загрузку более чем 4GB.

4 голосов
/ 17 декабря 2009

BranTheMan верен, я решил эту проблему несколько лет назад, и мы декомпилировали бит ASP.NET и обнаружили, что он возьмет файл и поместит его в байтовый массив. Таким образом, вы не можете обойти это.

Может быть, с 64-битным оборудованием вы можете превысить ограничение в 2 ГБ, но ... 2 ГБ это довольно много, так что, возможно, этого достаточно.

Проблема, с которой вы можете столкнуться, заключается в том, что множество людей загружают большие файлы. например, 100 человек загружают 20 мегабайт файлов, поскольку процесс не может выделить более 2 ГБ на стандартном 32-разрядном сервере. (без изменений конфигурации)

2 голосов
/ 17 декабря 2009

Полагаю, это будет зависеть от сервера, получающего запрос, как от настроек, так и от способа получения. Apache, вероятно, имеет другую реализацию принимающей стороны от IIS. На стороне клиента файл читается с диска (опять же, это будет зависеть от браузера, который использует клиент, и от того, как это реализовано), поэтому не должно быть. Я не знаю, упоминается ли это когда-нибудь в документации IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...