MultipartFile格式转为File
时间: 2023-12-25 22:29:35 浏览: 79
SpringMVC 上传文件 MultipartFile 转为 File的方法
MultipartFile格式转为File的方法有两种,具体如下:
方法一:使用commons-fileupload依赖
首先,你需要在项目中添加commons-fileupload依赖。在pom.xml文件中添加以下代码:
```xml
<!-- 上传文件 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
```
然后,你可以使用以下代码将MultipartFile转为File:
```java
import org.apache.commons.io.FileUtils;
import org.springframework.web.multipart.MultipartFile;
// 具体实现转换
MultipartFile mfile = ...; // 你的MultipartFile对象
File file = new File(mfile.getOriginalFilename());
FileUtils.copyInputStreamToFile(mfile.getInputStream(), file);
// 这种方法会在本地产生临时文件,用完后需要删除
if (file.exists()) {
file.delete();
}
```
方法二:使用Java原生方法
你也可以使用Java原生方法将MultipartFile转为File,代码如下:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.springframework.web.multipart.MultipartFile;
// 具体实现转换
MultipartFile mfile = ...; // 你的MultipartFile对象
File file = new File(mfile.getOriginalFilename());
try (InputStream inputStream = mfile.getInputStream();
OutputStream outputStream = new FileOutputStream(file)) {
int bytesRead;
byte[] buffer = new byte[8192];
while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
}
```
这两种方法都可以将MultipartFile转为File格式的文件。方法一使用了commons-fileupload依赖,方法二则使用了Java原生的输入输出流。你可以根据自己的需求选择其中一种方法来实现转换。
阅读全文