Я пытаюсь создать утилиту загрузки файлов и получаю следующую ошибку, когда нажимаю кнопку submit
.Он начинает загрузку, а затем неожиданно появляется эта ошибка:
There was an unexpected error (type=Bad Request, status=400).
Required request part 'file' is not present
У меня нет трассировки стека, это все, что отображается в моем окне или консоли.Я искал другие решения, и все они оказались кем-то забытым включить name="file"
в свой HTML-файл.Я удостоверился, что это включено, и все еще получаю ошибку.
Ниже моя форма загрузки:
<div id="custom-search-input">
<label>Select a file to upload</label>
<form action="/upload" enctype="multipart/form-data" method = "post">
<div class="input-group col-md-12">
<input type="file" name="file" class="search-query form-control"/>
<span class="input-group-btn">
<button type="submit" class="btn btn-success">Upload </button>
</span>
</div>
</form>
</div>
Это мой метод загрузки контроллера:
@Value("${upload.path}")
private String path;
@RequestMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file, Model model, HttpSession session) throws IOException {
if(!file.isEmpty()) {
//Get the user
User user = (User) session.getAttribute("user");
//Get the file name
String fileName = file.getOriginalFilename();
InputStream is = file.getInputStream();
//Store the uploaded file into the users directory in the system path
Files.copy(is, Paths.get(path + user.getNetworkId() + "\\" + fileName),StandardCopyOption.REPLACE_EXISTING);
return "redirect:/success.html";
} else {
return "redirect:/index.html";
}
}
Также хотел бы отметить, что я пробовал это для моего метода загрузки:
public String upload(@RequestParam(name="file",required=true) MultipartFile file, Model model, HttpSession session)
Для справки, этот - это то, на что я ссылался.
Согласно некоторым ответам ниже, я попытался создать автономный метод PostMapping
, а также @RequestMapping(value="/upload", method = RequestMethod.POST)
Я все еще получаю ошибку.