验证上传的jpg和png文件并保存到静态文件夹

时间:2019-04-24 07:40:33

标签: java file-upload

我正在使用Spring Boot,我想通过表单上传图像。

它可以工作,但是有两个问题:

1)我不知道如何验证文件以确保它是jpgpng

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();
        }

...
}

1 个答案:

答案 0 :(得分:0)

获取文件扩展名

String extension = FilenameUtils.getExtension(file.getOriginalFilename());

路径

 InputStream in = file.getInputStream();
 File destination = new File("/some-location/" + file.getOriginalFilename());
 FileUtils.copyInputStreamToFile(in, destination);