【java】File文件类型转为MultipartFile文件类型工具类

package com.glodon.kgb.utils.multipartfile;

import java.io.*;

/**
 * @Author;
 * @Description:
 * @Date:Created in 18:11 2020/12/15
 * @Modified By:
 */
public class File2byteUtil {
    
    
    public static byte[] File2byte(File tradeFile){
    
    
        byte[] buffer = null;
        try
        {
    
    
            FileInputStream fis = new FileInputStream(tradeFile);
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            byte[] b = new byte[1024];
            int n;
            while ((n = fis.read(b)) != -1)
            {
    
    
                bos.write(b, 0, n);
            }
            fis.close();
            bos.close();
            buffer = bos.toByteArray();
        }catch (FileNotFoundException e){
    
    
            e.printStackTrace();
        }catch (IOException e){
    
    
            e.printStackTrace();
        }
        return buffer;
    }
}

package com.glodon.kgb.utils.multipartfile;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * @Author; liuz
 * @Description:
 * @Date:Created in 18:08 2020/12/15
 * @Modified By:
 */
public  class FileToMultiPartFileUtil {
    
    
    public static MultipartFile fileToMultiPartFile(File file) {
    
    

        MultipartFile multipartFile = new MultipartFile() {
    
    
            @Override
            public String getName() {
    
    
                return file.getName();
            }

            @Override
            public String getOriginalFilename() {
    
    
                return file.getName();
            }

            @Override
            public String getContentType() {
    
    
                return null;
            }

            @Override
            public boolean isEmpty() {
    
    

                return file == null ? true : false;
            }

            @Override
            public long getSize() {
    
    
                return 0;
            }

            @Override
            public byte[] getBytes() {
    
    
                return File2byteUtil.File2byte(file);
            }

            @Override
            public InputStream getInputStream() throws IOException {
    
    
                return new FileInputStream(file);
            }

            @Override
            public void transferTo(File file) throws IOException, IllegalStateException {
    
    

            }
        };

        return multipartFile;
    }
}

        // 调用方法,传进相应类型的参数
        MultipartFile localFile = FileToMultiPartFileUtil.fileToMultiPartFile(localFile);

猜你喜欢

转载自blog.csdn.net/LZ15932161597/article/details/112867173