SpringMVC中MultipartFile转File的两种方式
在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>
到此这篇关于SpringMVC中MultipartFile转File的两种方式的文章就介绍到这了,更多相关SpringMVC MultipartFile转File内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
JavaWeb中Tomcat底层机制和Servlet运行原理详解
这篇文章主要介绍了JavaWeb中Tomcat底层机制和Servlet运行原理详解,Tomcat是一个开源的Java Web服务器,它是基于Java Servlet和JavaServer Pages(JSP)技术的,下面是关于Tomcat底层机制和Servlet运行原理的简要说明,需要的朋友可以参考下2023-10-10SpringCloud Tencent 全套解决方案源码分析
Spring Cloud Tencent实现Spring Cloud标准微服务SPI,开发者可以基于Spring Cloud Tencent开发Spring Cloud微服务架构应用,Spring Cloud Tencent 的核心依托腾讯开源的一站式服务发现与治理平台 Polarismesh,实现各种分布式微服务场景,感兴趣的朋友一起看看吧2022-07-07Java多线程并发编程(互斥锁Reentrant Lock)
这篇文章主要介绍了ReentrantLock 互斥锁,在同一时间只能被一个线程所占有,在被持有后并未释放之前,其他线程若想获得该锁只能等待或放弃,需要的朋友可以参考下2017-05-05SpringBoot整合Dubbo框架,实现RPC服务远程调用
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。今天就来看下SpringBoot整合Dubbo框架的步骤2021-06-06SpringBoot加入Guava Cache实现本地缓存代码实例
这篇文章主要介绍了SpringBoot加入Guava Cache实现本地缓存代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-09-09
最新评论