Загрузка файла ограничивает в HTTP

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

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

15
задан jeffreyveon 17 December 2009 в 15:15
поделиться

3 ответа

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

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

13
ответ дан 1 December 2019 в 03:14
поделиться

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

2
ответ дан 1 December 2019 в 03:14
поделиться

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

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

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

4
ответ дан 1 December 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: