File转换为MultipartFile工具类
- package cn.com.utils;
- import org.apache.commons.fileupload.FileItem;
- import org.apache.commons.fileupload.disk.DiskFileItemFactory;
- import org.springframework.util.FileCopyUtils;
- import org.springframework.web.multipart.MultipartFile;
- import org.springframework.web.multipart.commons.CommonsMultipartFile;
- import javax.activation.MimetypesFileTypeMap;
- import java.io.ByteArrayInputStream;
- import java.io.File;
- import java.io.InputStream;
- import java.io.OutputStream;
- public class FileToMultipartFileUtil {
- public static MultipartFile toMultipartFile(String fieldName, File file) throws Exception {
- DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
- String contentType = new MimetypesFileTypeMap().getContentType(file);
- FileItem fileItem = diskFileItemFactory.createItem(fieldName, contentType, false, file.getName());
- try (
- InputStream inputStream = new ByteArrayInputStream(FileCopyUtils.copyToByteArray(file));
- OutputStream outputStream = fileItem.getOutputStream()
- ) {
- FileCopyUtils.copy(inputStream, outputStream);
- } catch (Exception e) {
- throw e;
- }
- MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
- return multipartFile;
- }
- public static MultipartFile toMultipartFile(String fieldName, String fileName, byte[] fileByteArray) throws Exception {
- DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
- String contentType = new MimetypesFileTypeMap().getContentType(fileName);
- FileItem fileItem = diskFileItemFactory.createItem(fieldName, contentType, false, fileName);
- try (
- InputStream inputStream = new ByteArrayInputStream(fileByteArray);
- OutputStream outputStream = fileItem.getOutputStream()
- ) {
- FileCopyUtils.copy(inputStream, outputStream);
- } catch (Exception e) {
- throw e;
- }
- MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
- return multipartFile;
- }
- }
File转换为MultipartFile工具类的更多相关文章
- Java 将File转换为MultipartFile类型
首先转换时需要用到commons-fileupload-1.3.2.jar包,若项目中没有就先加入jar包,实现代码如下: 1.根据File创建FileItem import java.io.File ...
- Android开发之dp转像素,像素转换为dp工具类,详细代码,带有源文件下载地址。
import android.content.Context; /** * @author 官网:http://blog.csdn.net/qq_21376985 * * David编写: 微博:ht ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- 文件类型工具类:FileTypeUtil
个人学习,仅供参考! package com.example.administrator.filemanager.utils;import java.io.File;/** * 文件类型工具类 * * ...
- 目录处理工具类 DealWithDir.java
package com.util; import java.io.File; /** * 目录处理工具类 * */ public class DealWithDir { /** * 新建目录 */ p ...
- 项目经验分享——Java常用工具类集合 转
http://blog.csdn.net/xyw591238/article/details/51678525 写在前面 本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...
- JaxbUtil转json转XML工具类
json转换为XML工具类 package com.cxf.value; import org.springframework.util.StringUtils; import javax.xml.b ...
- Java常用工具类之删除文件
package com.wazn.learn.util; import java.io.File; /** * 删除文件工具类 * @author yangzhenyu * */ public cla ...
- 二、工具类ImageUtil——图片处理
这个工具类完成的工作如下: 1.第一个static方法,完成图片格式的转换.统一转换成.jpg格式. package util; import java.awt.Toolkit; import jav ...
随机推荐
- WebServer Project-01-反射
简介 上网浏览网页,离不开服务器,客户请求页面,服务器响应页面,响应的内容是根据每个web请求来产生动态内容的,其内部即启动多个线程来产生不同内容.这种请求响应的交互,都是基于HTTP协议的. 当然现 ...
- 页面上有3个输入框:分别为max,min,num;三个按钮:分别为生成,排序,去重;在输入框输入三个数字后,先点击生成按钮,生成一个数组长度为num,值为max到min之间的随机整数点击排序,对当前数组进行排序,点击去重,对当前数组进行去重。 每次点击之后使结果显示在控制台
<!DOCTYPE html> <html> <head> <!-- 页面上有3个输入框:分别为max,min,num:三个按钮:分别为生成,排序,去重: 在 ...
- Android开发 MediaPlayer入门_播放本地视频
前言 MediaPlayer,可以播放视频/音频,并且它支持本地和网络文件的播放.本片博客作为入门教程,先以最通俗的方式解释播放文件本地视频.(如果你嫌MediaPlayer还是太麻烦可以试试选择Vi ...
- jq-demo-点击改变图片
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CGLIB 详解
依赖 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> ...
- Android SDK 环境变量配置
ANDROID_HOME = D:\Package\android-sdk-windows 在path 中加入 %ANDROID_HOME%\tools 和 %ANDROID_HOME%\platfo ...
- Zookeeper_Paxos算法
Paxos算法 算法简介 Paxos算法是莱斯利-兰伯特在1990年提出的一种基于消息传递的.具有容错性的一致性算法,Google Chubb(分布式锁服务)的作者Mike Burrwos说过,世上只 ...
- delphi透明panel组件或者制作方法
//透明Panel控件 unit TranPanel; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, ...
- BZOJ 1415: [Noi2005]聪聪和可可(记忆化搜索+期望)
传送门 解题思路 还是比较简答的一道题.首先\(bfs\)把每个点到其他点的最短路求出来,然后再记忆化搜索.记搜的时候猫的走法是确定的,搜一下老鼠走法就行了. 代码 #include<iostr ...
- NOIp2018集训test-9-5(am)
Problem A. maze 递归处理,题解写得真简单. 我大概这辈子也写不出来这种东西吧. Problem B. count 容易发现合法的数中一定有且仅有两个数加起来等于10,其他数两两配对加起 ...