zoukankan      html  css  js  c++  java
  • Java 将File转换为MultipartFile类型

      首先转换时需要用到commons-fileupload-1.3.2.jar包,若项目中没有就先加入jar包,实现代码如下:

      1、根据File创建FileItem

    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.IOException;  
    import java.io.OutputStream;  
      
    import org.apache.commons.fileupload.FileItem;  
    import org.apache.commons.fileupload.FileItemFactory;  
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;  
    import org.springframework.web.multipart.MultipartFile;  
    import org.springframework.web.multipart.commons.CommonsMultipartFile; 
    
    /*
        创建FileItem
         */
    	private FileItem createFileItem(File file, String fieldName) {
    		FileItemFactory factory = new DiskFileItemFactory(16, null);
    		FileItem item = factory.createItem(fieldName, "text/plain", true, file.getName());
    		int bytesRead = 0;
    		byte[] buffer = new byte[8192];
    		try {
    			FileInputStream fis = new FileInputStream(file);
    			OutputStream os = item.getOutputStream();
    			while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
    				os.write(buffer, 0, bytesRead);
    			}
    			os.close();
    			fis.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return item;
    	}

      2、通过FileItem对象可以轻松获得CommonsMultipartFile对象,转换成MultiPartFile对象即可使用。

    MultipartFile mfile = new CommonsMultipartFile(fileItem);
  • 相关阅读:
    Encoding
    F Takio与Blue的人生赢家之战
    D FFF团的怒火
    C Golden gun的巧克力
    B 倒不了的塔
    A jubeat
    17230 计算轴承半径
    10686 DeathGod不知道的事情
    10688 XYM-AC之路
    10692 XYM-入门之道
  • 原文地址:https://www.cnblogs.com/Big-Boss/p/10729618.html
Copyright © 2011-2022 走看看