<form method = "post" enctype = "multipart/form-data" id = "uploadFileForm" action = "/uploadTest">
<div>
<input type = "file" id = "image_uploads" name = "filename" accept = ".jpg, .jpeg, .png, .pdf" multiple>
</div>
<div id = "uploadpreview">
<p>No files currently selected for upload</p>
</div>
<div>
<button id = "uploadBtn" type = "submit">Submit</button>
</div>
</form>
@Controller
@RequestMapping(value = "/**/uploadTest")
public class UserFileUploadController {
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String TestRun(@ModelAttribute("filename") final File uploadFile)
{
//code in which i use the uploaded file
return ("redirect:/solutions");
}
}
Я получаю код состояния «Метод 405 запрещен» = на экране отображается «Ошибка сервера». но страница обновляется до / uploadTest, поэтому я не знаю, что не так с контроллером.
Почему вы добавили в путь /**?




Я думаю, вам следует заменить File на MultipartFile, а затем вызвать метод transferTo, если вы хотите сохранить файл в файловой системе.
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String TestRun(@ModelAttribute("filename") final MultipartFile uploadFile) throws IOException {
File file = ...
uploadFile.transferTo(file);
return ("redirect:/solutions");
}
Вы также должны проверить, определили ли вы этот bean-компонент в dispatcher-servler.xml, и установить для maxUploadSize правильное значение.
<bean id = "multipartResolver" class = "org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name = "maxUploadSize" value = "1000000" />
</bean>
Исправьте форматирование кода в своем вопросе.