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可以很好的實現文件斷點上傳。