SpringMVC中MultipartFile转File的两种方式
作者:扯吧 时间:2023-08-18 20:25:00
在spring上传文件中,一般都使用了MultipartFile来接收,但是有需要用到File的地方,这里只介绍两种转为File的方法,当然也有一些其他的方法,我试了有些错误,所以就不提了;
transferTo()
org.apache.commons.io.FileUtils.copyInputStreamToFile()
代码如下:
public void upload(@RequestParam(value = "file") MultipartFile file) {
if (file != null) {
try {
String fileRealName = file.getOriginalFilename();//获得原始文件名;
int pointIndex = fileRealName.lastIndexOf(".");//点号的位置
String fileSuffix = fileRealName.substring(pointIndex);//截取文件后缀
String fileNewName = DateUtils.getNowTimeForUpload();//新文件名,时间戳形式yyyyMMddHHmmssSSS
String saveFileName = fileNewName.concat(fileSuffix);//新文件完整名(含后缀)
String filePath = "D:\\FileAll" ;
File path = new File(filePath); //判断文件路径下的文件夹是否存在,不存在则创建
if (!path.exists()) {
path.mkdirs();
}
File savedFile = new File(filePath);
boolean isCreateSuccess = savedFile.createNewFile(); // 是否创建文件成功
if(isCreateSuccess){ //将文件写入
//第一种
file.transferTo(savedFile);
//第二种
savedFile = new File(filePath,saveFileName);
// 使用下面的jar包
FileUtils.copyInputStreamToFile(file.getInputStream(),savedFile);
}
} catch (Exception e) {
e.printStackTrace();
}
}else {
System.out.println("文件是空的");
}
}
附commons-io jar包maven地址:点击下载 commons-io-2.4.jar
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
来源:https://blog.csdn.net/qq_35564978/article/details/81701518
标签:SpringMVC,MultipartFile,转,File
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
一篇文章带你了解Maven的生命周期
2022-04-22 10:40:22
![](https://img.aspxhome.com/file/2023/0/75440_0s.png)
浅谈基于SpringBoot实现一个简单的权限控制注解
2022-01-23 16:42:47
spring boot 全局异常处理方法汇总
2021-07-06 22:44:04
Spring动态配置计时器触发时间的实例代码
2023-01-20 07:30:01
详解springboot之jackson的两种配置方式
2021-11-03 11:01:21
OpenCV Java实现人脸识别和裁剪功能
2022-08-21 01:47:23
![](https://img.aspxhome.com/file/2023/9/79279_0s.jpg)
Android四大组件之BroadcastReceiver详解
2023-03-17 02:55:08
java文件的重命名与移动操作实例代码
2022-06-16 04:18:12
![](https://img.aspxhome.com/file/2023/7/132207_0s.png)
Flutter开发Mac桌面应用实现自动提取生成视频字幕文件
2023-05-11 05:25:58
Android Bitmap和Drawable的对比
2021-11-16 06:03:41
Java中数组在内存中存放原理的讲解
2022-12-10 03:48:35
![](https://img.aspxhome.com/file/2023/3/132233_0s.png)
C# PDF Page操作设置页面切换按钮的方法
2021-11-18 04:33:43
![](https://img.aspxhome.com/file/2023/8/91238_0s.png)
Android项目实现短信的发送、接收和对短信进行拦截
2021-06-14 06:59:26
![](https://img.aspxhome.com/file/2023/2/138812_0s.png)
C#针对xml文件转化Dictionary的方法
2021-09-12 12:33:48
java8新特性之日期时间API
2023-06-20 09:15:50
![](https://img.aspxhome.com/file/2023/2/57602_0s.png)
Java中二叉树数据结构的实现示例
2023-08-07 03:10:58
JavaWeb如何实现禁用浏览器缓存
2021-09-13 01:27:45
mybatis createcriteria和or的区别说明
2021-09-27 09:20:40
Android中使用七牛云存储进行图片上传下载的实例代码
2023-12-17 11:56:35
![](https://img.aspxhome.com/file/2023/1/138481_0s.png)
详解Android TextView属性ellipsize多行失效的解决思路
2022-03-02 16:00:32