Моя версия Jboss: EAP 6.4.0
Версия для весенней загрузки: 1.5.15.RELEASE
Я работаю над проектом весенней загрузки и пытаюсь загрузить файл и использовать контроллер для его обработки.
И я также установил максимальный размер файла 15 МБ с помощью следующего кода:
public class WebApplicationInitializerImpl implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext container) throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setConfigLocation(SpringProjectApplication.class.getName());
ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet(context));
registration.setLoadOnStartup(1);
registration.addMapping("/*");
registration.setMultipartConfig(new MultipartConfigElement("", 102415, 1024*1024*20, 1024*1024*15));
}
}
Вот мой контроллер:
@PostMapping(value = "/upload-file", consumes = "multipart/form-data")
public ResponseEntity<?> uploadFile(
@RequestParam("name") String name,
@RequestParam("upload-file") MultipartFile uploadFile) {
...
}
Согласно документации:
MaxFileSize: максимально допустимый размер загружаемых файлов в байтах. Если
размер любого загруженного файла больше, чем этот размер, веб
контейнер выдаст исключение (IllegalStateException). По умолчанию
размер не ограничен.
maxRequestSize: максимально допустимый размер для составных данных / данных формы
запрос в байтах. Веб-контейнер выдаст исключение, если
общий размер всех загружаемых файлов превышает этот порог. По умолчанию
размер не ограничен.
Все отлично работает, когда размер загружаемого файла ниже предела.
Но когда он превышает предел, я получаю исключение «MissingServletRequestParameterException: обязательный параметр String« имя »отсутствует», а не IllegalStateException.
Мне интересно, почему так происходит. Это как-то связано с моим диспетчерским сервлетом?
*1024*