MultipartFile的作用
实现文件的快速上传,不需要先将File转换成output流 再传输过去 接收端接收流再生成文件。
MultipartFile的实现和原理
使用org.springframework.mock.web.MockMultipartFile 需要导入spring-test.jar
// MockMultipartFile(String name, @Nullable String originalFilename, @Nullable String contentType, InputStream contentStream)
// 其中originalFilename,String contentType 旧名字,类型 可为空
// ContentType.APPLICATION_OCTET_STREAM.toString() 需要使用HttpClient的包
MultipartFile multipartFile = new MockMultipartFile("copy"+file.getName(),file.getName(),ContentType.APPLICATION_OCTET_STREAM.toString(),fileInputStream);
第一个参数 传输后的文件名 第二个 旧文件名字(可为空) 第三类型
第四输入流
public MockMultipartFile(String name, String originalFilename, String contentType, InputStream contentStream) throws IOException {
this(name, originalFilename, contentType, FileCopyUtils.copyToByteArray(contentStream));
}
关键采用
调用这方法才能实现传输
public void transferTo(File dest) throws IOException, IllegalStateException {
FileCopyUtils.copy(this.content, dest);