如何将多部分文件转换为文件?

2019年11月3日 23点热度 0条评论

谁能告诉我将多部分文件(org.springframework.web.multipart.MultipartFile)转换为File(java.io.File)的最佳方法是什么?

在我的 Spring MVC Web项目中,我正在将文件上传为Multipart文件。我必须将其转换为File(io),因此可以调用此图像存储服务( Cloudinary )。它们仅采用(File)类型。

我进行了很多次搜索,但都失败了。如果有人知道一种标准的方法,请告诉我?
n

解决方案如下:

您可以使用MultipartFile方法获取getBytes的内容,并可以使用Files.newOutputStream()写入文件:

public void write(MultipartFile file, Path dir) {
    Path filepath = Paths.get(dir.toString(), file.getOriginalFilename());

    try (OutputStream os = Files.newOutputStream(filepath)) {
        os.write(file.getBytes());
    }
}

您也可以使用
transferTo method:

public void multipartFileToFile(
    MultipartFile multipart, 
    Path dir
) throws IOException {
    Path filepath = Paths.get(dir.toString(), multipart.getOriginalFilename());
    multipart.transferTo(filepath);
}