SpringBoot MultiPartFile To File 问题
来源:互联网 发布:医疗软件发展前景 编辑:程序博客网 时间:2024/06/04 19:53
之前在SpringMVC中没有碰到的问题如今在SpringBoot中成了一个问题,害我花了半天搞定。
问题再现:
截取部分代码
public String analyzeFile(MultipartFile file) { if(!file.isEmpty()) { String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"; File dir = new File(filePath); if(! dir.exists()) { dir.mkdir(); } String path = filePath + file.getOriginalFilename(); File tempFile = null; //save to the /upload path try { tempFile = new File(path); file.transferTo(tempFile);
1)取得应用程序的path,加上upload 形成如: app directory/application/upload的路径并生成一个文件夹(没有的话),2)在该文件夹下生成一个和上传文件同名的文件
3)将上传文件MultiPartFile transfer to 上述文件中
springBoot本地测试是没有问题的(内嵌tomcat server),但打包上传到 glassfish server中去跑,却发现 在临时文件路径前又添加了generated/jsp的路径,造成了找不到文件的错误。
这个错误是file.transferTo(tempFile);
造成的,因为transferTo方法会默认在tempFile前添加一个新的路径,总之是个没用的路径。这样一来,tempFile path是有的,但前边加一个路径后,就造成了找不到文件的错误。这里的解决办法是不用TransferTo()方法,改用org.apache.commons.io.FileUtils
。
maven的pom.xml中添加
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version></dependency>
然后之前的代码改成
public String analyzeFile(MultipartFile file) { if(!file.isEmpty()) { String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"; File dir = new File(filePath); if(! dir.exists()) { dir.mkdir(); } String path = filePath + file.getOriginalFilename(); File tempFile = null; //save to the /upload path try { tempFile = new File(path); FileUtils.copyInputStreamToFile(file.getInputStream(), tempFile);
这样就将multipartfile正常转到tempFile中了。
阅读全文
0 0
- SpringBoot MultiPartFile To File 问题
- MultipartFile 转 File
- multipartfile 转 file
- file 转换MultipartFile
- MultipartFile 转File
- SpringMVC MultipartFile转File
- MultipartFile转换File完整版
- MultipartFile 转 file
- File 转为MultipartFile
- File如何转换成MultipartFile
- 关于Java数据转存的中MultipartFile转File的问题
- springmvc MultipartFile转file和图片压缩
- Springmvc 上传文件MultipartFile 转File 笔记
- SpringMVC中上传文件MultipartFile转File
- Required MultipartFile parameter 'file' is not present
- spring MVC 的MultipartFile转File读取
- spring MVC 的MultipartFile转File读取
- 怎么将File转换为MultipartFile类型
- Java不支持多继承的原因
- 剑指offer(5)—用两个栈实现队列
- 818低价狂欢,XMind等你来战
- Unity 封装 倒计时(计时器,CountDownTimer),实现周期更新、技能冷却等功能
- Linux IO实时监控iostat命令详解
- SpringBoot MultiPartFile To File 问题
- FreeRTOS临界段代码
- gradle 自动配置
- Tomcat中用环境变量灵活定义spring数据库文件路径
- 用SparkR探索电商数据(一)
- 注意在ajax中return false 为什么表单还是会提交呢
- 简单快捷解决caffe源代码在其他工程(MFC、QT、win32)中调用的问题
- 一次磁盘IO对比
- 简单文件备份工具(C#)