Есть ли предел теоретически на размер файла, который может быть загружен клиентом, использующим загрузку файла браузера с помощью HTML-формы?
Я излагаю это, потому что Flash имеет недостаток, где самый большой размер файла, который можно загрузить, меньше, чем размер доступной RAM. Я задаюсь вопросом, существуют ли какие-либо такие ограничения с браузерами...
Если размер загружаемого файла превышает 2 ГБ, вы столкнетесь с проблемами загрузки по протоколу HTTP.
Ограничение «доступной RAM» предполагает, что все данные файла засасываются в память, что очень неэффективно, особенно когда размер файла увеличивается. Для этого потоки гораздо эффективнее.
Я полагаю, это будет зависеть от сервера, получающего запрос, как от настроек, так и от способа реализации приема. Apache, вероятно, имеет другую реализацию приема от IIS. На стороне клиента файл считывается с диска (опять же, это будет зависеть от браузера, который использует клиент, и от того, как это реализовано), поэтому этого не должно быть. Я не знаю, упоминалось ли это когда-нибудь в документации IE.
BranTheMan прав, я столкнулся с этой проблемой несколько лет назад, и мы декомпилировали части ASP.NET и обнаружили, что он берет файл и помещает его в массив байтов. Так что вы не можете обойти это.
Может быть, с 64-битным оборудованием вы сможете преодолеть ограничение в 2 ГБ, но ... 2 ГБ в любом случае довольно много, так что, может быть, этого достаточно.
Вы можете столкнуться с проблемой, если много люди загружают большие файлы. например, 100 человек загружают файлы размером 20 мегабайт, поскольку процесс не может выделить более 2 ГБ на стандартном 32-битном сервере. (без изменений конфигурации)