Загрузка файла большого размера

Дата: 15.12.2009
Категории: ASP.NET Visual Studio (C#)

При попытке загрузить на сервер файл размером больше 4 мб возникает ошибка. Вообще в настоящее время это уже очень маленький объем информации, но в Microsoft посчитали, что по умолчанию нужно сделать максимальный размер входного потока равным 4 мб.

При попытке загрузки файла появлялось сообщение «Удаленный сервер или файл не найден» либо «Превышена максимальная длина запроса». Иногда одно, иногда другое.

Превышена максимальная длина запроса

Решение проблемы

В файле конфигурации приложения Web.config можно создать элемент httpRuntime

У него множество атрибутов, с которыми вы можете ознакомиться на msdn по ссылке выше.

Нас интересует атрибут maxRequestLength

Атрибут задает пороговое значение для буферизации входного потока в КБ. Данное значение используется для предотвращения атак типа «отказ в обслуживании», происходящих при отправке пользователями на сервер больших файлов.

По умолчанию используется значение 4096 КБ. При превышении порогового значения возникает ConfigurationErrorsException.

Это цитата из msdn. В которой и объясняется почему выбрано такое значение по умолчанию.

И так, для увеличения размера входного потока вставляем в секцию <system.web>

<httpRuntime maxRequestLength="16384" />

Число 16384 соответствует 16 мб.  Значение атрибута maxRequestLength должно быть в пределах от 0 до 2097151

Коментарии отсутствуют