依赖:

<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.5.8</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.22</version></dependency>
package com.ciih.workshop.utils;import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import org.apache.http.entity.ContentType;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;import java.io.*;/*** MultipartFile和File互转工具类*/
public class MultipartFileUtil {/*** 输入流转MultipartFile** @param fileName* @param inputStream* @return*/public static MultipartFile getMultipartFile(String fileName, InputStream inputStream) {MultipartFile multipartFile = null;try {multipartFile = new MockMultipartFile(fileName, fileName,ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);} catch (Exception e) {e.printStackTrace();}return multipartFile;}/*** 读取网络文件** @param url      文件地址* @param fileName 文件名称(需带文件名后缀)* @return*/public static MultipartFile getMultipartFile(String url, String fileName) {HttpResponse response = HttpRequest.get(url).execute();InputStream inputStream = response.bodyStream();return MultipartFileUtil.getMultipartFile(fileName, inputStream);}/*** File 转MultipartFile** @param file* @return*/public static MultipartFile getMultipartFile(File file) {FileInputStream fileInputStream = null;MultipartFile multipartFile = null;try {fileInputStream = new FileInputStream(file);multipartFile = new MockMultipartFile(file.getName(), file.getName(),ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);} catch (Exception e) {e.printStackTrace();}return multipartFile;}/*** MultipartFileUtil 转File** @param multipartFile* @return*/public static File getFile(MultipartFile multipartFile) {String fileName = multipartFile.getOriginalFilename();File file = new File(fileName);OutputStream out = null;try {out = new FileOutputStream(file);byte[] ss = multipartFile.getBytes();for (byte s : ss) {out.write(s);}} catch (IOException e) {e.printStackTrace();} finally {if (out != null) {try {out.close();} catch (IOException e) {e.printStackTrace();}}}
//        File f = new File(file.toURI());
//        if (f.delete()) {
//            System.out.println("删除成功");
//        } else {
//            System.out.println("删除失败");
//        }return file;}
}

MultipartFile和File互转工具类相关推荐

  1. MultipartFile和File互转

    MultipartFile和File互转 一.M转F 1.详细方法 /*** 将MultipartFile转换为File*** @param outFilePath 参数* @param multiF ...

  2. Map集合转换成实体类对象,实体类对象转换为map集合,互转工具类

    注 : 2019-06-16日 增加第六节 map与实体互转工具类,直接看第6节; 1.调用这个方法BeanMapUtils.mapToBean(),实现map集合转实体类对象; 注意: 这个方法转换 ...

  3. 总结的一些json格式和对象/String/Map/List等的互转工具类

    总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...

  4. 税务局接口-xml格式和对象互转工具类使用说明

    税务局接口-xml格式和对象互转工具类使用说明 注意: 由于税务局接口请求xml数据和返回xml数据和常规的不一样,所以手动写了一个工具类,本工具类只针对税务局xml请求参数和返回参数与对象互相. 说 ...

  5. 罗马数字 与 阿拉伯数字 互转工具类

    罗马数字 与 阿拉伯数字 互转工具类 在其它工具类上没找到,自己写了个工具类,以此记录: /*** 罗马数字工具类** @author pipizhen* @since 2023-02-03 11:4 ...

  6. java file ip_java常用工具类 IP、File文件工具类

    本文实例为大家分享了java常用工具类的具体实现代码,供大家参考,具体内容如下 IP工具类 package com.jarvis.base.util; import java.io.IOExcepti ...

  7. java中map和对象互转工具类

    在项目开发中,经常碰到map转实体对象或者对象转map的场景,工作中,很多时候我们可能比较喜欢使用第三方jar包的API对他们进行转化,而且用起来也还算方便,比如像fastJson就可以轻松实现map ...

  8. java map转xml 工具类_xml和map互转工具类

    /*** xml转map工具类 *@authorzhangyao **/ public classXmlToMapUtil {/*** xml转map 不带属性 *@paramxmlStr *@par ...

  9. Android带数字拼音与带音标拼音互转工具类

    - 前言 刚进入上一家公司时,编写过一个学汉语项目,这个项目对我的锻炼还是也挺大的,毕竟一个刚毕业的大学生,从来没有接手过公司项目,而所从事的公司是一家偏硬件的语音公司,手机端编程的人员在我之前几个月 ...

最新文章

  1. [转]Ubuntu SCIM 输入法不能光标跟随的解决
  2. 第四百一十七天 how can I 坚持
  3. npm 报错: npm ERR! Please try running this command again as root/Administrator.
  4. 1到30图片大全顺序_终于解决了!自媒体作者,如何给 Word 中的图片批量编号?...
  5. 学习笔记之数据可视化(二)——页面布局(中)
  6. linux resin 自动启动不了,linux下开机启动nginx+resin
  7. mysql 1005 150_錯誤1005 errno:150與mysql
  8. PHP中“简单工厂模式”实例讲解(转)
  9. 已知p值自由度 求t值 matlab,统计学中的F值、P值和r分别表示什么意思,怎么求-如何查看f值-数学-敖篮友同学...
  10. 每日作业-品优购详情页
  11. dimm和udimm_服务器内存UDIMM与RDIMM有什么区别
  12. csp是什么比赛_有关CSPJ/S比赛问题
  13. 开发团队如何选型支付网关
  14. FCOS搭建环境bug
  15. 李佳明的成长经历与留学选择
  16. windows查询主机名命令
  17. 360浏览器(网页)无法打开百度网盘解决办法
  18. Galera:多主同步MySQL集群原理解析
  19. 51劳动节由来| 五一劳动节的来历|51劳动节起源
  20. 第二章 一波未平 校园江湖

热门文章

  1. 【TV】海信在CES发布电视新品
  2. HTML注释和JSP注释
  3. Vue 3.X 结合 arcgis 4.X 加载国内四种在线底图 百度、腾讯、高德、天地图(学不会揍我)
  4. 视频怎么修改成伪原创 去除视频md5
  5. 成语猜题小程序答题服务端源码
  6. java 多线程 变慢_java多线程并发程序执行慢有什么原因?该怎么解决?
  7. C++:吐槽Win7专业版和Win7旗舰版对C++/程序的影响
  8. keypress事件
  9. 【Python系列】一个简单的抽奖小程序
  10. Lua 协程和线程区别