MultipartFile是SpringMVC提供简化上传操作的工具类。

分析一波源码

package org.springframework.web.multipart;
                                       //这里还是能看出本质还是流的操做
public interface MultipartFile extends org.springframework.core.io.InputStreamSource {
    
      //获取参数的名字
     java.lang.String getName();
    //获取文件的名字
    @org.springframework.lang.Nullable
    java.lang.String getOriginalFilename();
    // 获取文件类型
    @org.springframework.lang.Nullable
    java.lang.String getContentType();
    //判断是否为空
    boolean isEmpty();
    //获取文件的大小以字节为单位
    long getSize();
   //把文件内容以字节数组的方式返回
    byte[] getBytes() throws java.io.IOException;
    //获取文件的字节流
    java.io.InputStream getInputStream() throws java.io.IOException;
   //
    default org.springframework.core.io.Resource getResource() { /* compiled code */ }
 //用来把MultipartFil类型变成File
    void transferTo(java.io.File file) throws java.io.IOException, java.lang.IllegalStateException;
   
    default void transferTo(java.nio.file.Path dest) throws java.io.IOException, java.lang.IllegalStateException { 
/* compiled code */ }
}

这个工具类配合RandomAccessFile可以很好的实现文件断点上传。