Подтвердить что ты не робот

Ограничение размера файла действия MVC3

Я реализую плагин для загрузки файлов на основе jquery http://blueimp.github.com/jQuery-File-Upload/. Существует пример приложения MVC3, в котором вы можете скачать https://github.com/maxpavlov/jQuery-File-Upload.MVC3.

Автор образца имеет комментарий в Домашнем просмотре:

@* ЗА ИСПОЛЬЗОВАНИЕ ДЕЙСТВИЙ MVC КАК ОБРАБОТКА AJAX ПРИЗЫВАЕТ ИСПОЛЬЗОВАТЬ ДЕКЛАРАЦИЮ ФОРМЫ НИЖЕ. (ОДИН КОММЕНТАРИЙ) ЭТО НЕ ОКАЗЫВАЕТСЯ С КОЛИЧЕСТВЕННЫМ КОНТРОЛЛЕРОМ MVC ДЛЯ ОБРАБОТКИ ЗАПРОСОВ ОДИН НЕ МОЖЕТ УПРАВЛЯТЬ МАКСИМАЛЬНОСТЬЮ ЗАЯВКИ ПОСЛЕ ЗАПРОСА ЭТО ОСУЩЕСТВЛЯЕТ ФУНКЦИОНАЛЬНОСТЬ ЗАГРУЗКИ БОЛЬШИХ ФАЙЛОВ БЕСПЛАТНО, ЕСЛИ ВЫ НЕ СОХРАНЯЕТЕ БЕЗОПАСНОСТЬ И ПОЗВОЛЯЕТ БОЛЬШОЙ РАЗМЕР ПОСЛЕ СООБЩЕНИЙ НА САЙТЕ.

ЛУЧШЕ ДЛЯ ИСПОЛЬЗОВАНИЯ HTTP HANDLER ДЛЯ ПРОЦЕССА ЗАГРУЗИТЬ ЗАПРОСЫ, КАСАЮЩИЕСЯ ПРОГРАММЫ MVC, ПРОВЕРЯЕТ СПОСОБЫ УСТАНОВКИ maxMessageLength ON В ОСНОВЕ ДЕЙСТВИЯ * @

Это все еще так?

Я выяснил, что могу установить <httpRuntime maxRequestLength="x" /> в файле web.config, но я понимаю, что это уязвимость системы безопасности. Это также дело?

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

Update:

В соответствии с этим сообщением Загрузка файла ASP.NET MVC 3.0 размер файла по умолчанию составляет 4 МБ. Я подтвердил этот предел http://msdn.microsoft.com/en-us/library/e1f13641.aspx и понял уязвимость.

Это единственный способ загрузить файл через действие контроллера за пределами 4 МБ?

4b9b3361

Ответ 1

Вы можете установить ограничение размера загрузки в web.config для действия конкретного контроллера с помощью location:

<configuration>
    <location path="Home/UploadFiles">
        <system.web>
            <httpRuntime maxRequestLength="40960"/>
        </system.web>
    </location>
</configuration>

Где Home - имя контроллера, а UploadFiles - имя действия. Предел размера составляет здесь 40 МБ.

Тем не менее, использование Http-обработчика для обработки загрузки файлов не является плохим решением, если вы спросите меня.