Я реализую плагин для загрузки файлов на основе 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 МБ?