MultipartFile和File互转
时间: 2023-10-25 17:32:14 浏览: 43
要实现 MultipartFile 和 File 之间的转换,可以使用 Spring 的 MultipartFile 的 getInputStream() 方法来获取 InputStream,然后将其写入到 File 对象中。下面是一个示例代码:
```java
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class FileConverter {
public static File convert(MultipartFile multipartFile) throws IOException {
File file = new File(multipartFile.getOriginalFilename());
try (FileOutputStream fos = new FileOutputStream(file)) {
fos.write(multipartFile.getBytes());
}
return file;
}
public static MultipartFile convert(File file) throws IOException {
// 这里需要注意,MultipartFile 的实现类是 MockMultipartFile,所以需要使用 MockMultipartFile 的构造方法来创建对象
return new MockMultipartFile(file.getName(), new FileInputStream(file));
}
}
```
在上述示例中,convert() 方法可以将 MultipartFile 转换为 File 对象,而 convert() 方法则可以将 File 对象转换回 MultipartFile。需要注意的是,在将 File 转换为 MultipartFile 时,需要使用 `MockMultipartFile` 的构造方法来创建对象。
希望这个示例能帮助到你!如有更多问题,请随时提问。