我正在使用Spring Boot,我想通过表单上传图像。
它可以工作,但是有两个问题:
1)我不知道如何验证文件以确保它是jpg
或png
2)我只能上传到root
文件夹,不能上传到static
文件夹,我不知道如何为resources/static
文件夹设置正确的路径
@PostMapping("/add")
public String add(@Valid Product product, @RequestParam MultipartFile file, BindingResult bindingResult,
RedirectAttributes redirectAttributes, Model model) {
...
try {
byte[] bytes = file.getBytes(); // how to validate this?
Path path = Paths.get( file.getOriginalFilename()); // how to set path here?
Files.write(path, bytes);
redirectAttributes.addFlashAttribute("message",
"You successfully uploaded '" + file.getOriginalFilename() + "'");
} catch (IOException e) {
System.out.println("!!!!!!!!!!!!! Image uploaded problem !!!!!!!!!!!!!!");
e.printStackTrace();
}
...
}
答案 0 :(得分:0)
获取文件扩展名
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
路径
InputStream in = file.getInputStream();
File destination = new File("/some-location/" + file.getOriginalFilename());
FileUtils.copyInputStreamToFile(in, destination);