zoukankan      html  css  js  c++  java
  • File转换为MultipartFile工具类

     1 package cn.com.utils;
     2 
     3 import org.apache.commons.fileupload.FileItem;
     4 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
     5 import org.springframework.util.FileCopyUtils;
     6 import org.springframework.web.multipart.MultipartFile;
     7 import org.springframework.web.multipart.commons.CommonsMultipartFile;
     8 
     9 import javax.activation.MimetypesFileTypeMap;
    10 import java.io.ByteArrayInputStream;
    11 import java.io.File;
    12 import java.io.InputStream;
    13 import java.io.OutputStream;
    14 
    15 public class FileToMultipartFileUtil {
    16 
    17 
    18     public static MultipartFile toMultipartFile(String fieldName, File file) throws Exception {
    19         DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
    20         String contentType = new MimetypesFileTypeMap().getContentType(file);
    21         FileItem fileItem = diskFileItemFactory.createItem(fieldName, contentType, false, file.getName());
    22         try (
    23                 InputStream inputStream = new ByteArrayInputStream(FileCopyUtils.copyToByteArray(file));
    24                 OutputStream outputStream = fileItem.getOutputStream()
    25         ) {
    26             FileCopyUtils.copy(inputStream, outputStream);
    27         } catch (Exception e) {
    28             throw e;
    29         }
    30         MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
    31         return multipartFile;
    32     }
    33 
    34 
    35     public static MultipartFile toMultipartFile(String fieldName, String fileName, byte[] fileByteArray) throws Exception {
    36         DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
    37         String contentType = new MimetypesFileTypeMap().getContentType(fileName);
    38         FileItem fileItem = diskFileItemFactory.createItem(fieldName, contentType, false, fileName);
    39         try (
    40                 InputStream inputStream = new ByteArrayInputStream(fileByteArray);
    41                 OutputStream outputStream = fileItem.getOutputStream()
    42         ) {
    43             FileCopyUtils.copy(inputStream, outputStream);
    44         } catch (Exception e) {
    45             throw e;
    46         }
    47         MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
    48         return multipartFile;
    49     }
    50 
    51 }
  • 相关阅读:
    转让malloc()该功能后,发生了什么事内核?附malloc()和free()实现源
    使用智能移动设备访问Ossim制
    POJ 3207 Ikki's Story IV
    AndroidMainifest标签说明2——<activity>
    POJ1149 PIGS 【最大流量】
    POJ3617 Best Cow Line 馋
    颜色(color)转换为三刺激值(r/g/b)(干股)
    关于SQL中的Update语句
    Java Script 正则表达式的使用示例
    Javascript 知识点简介
  • 原文地址:https://www.cnblogs.com/bevis-byf/p/11658683.html
Copyright © 2011-2022 走看看