文件流转MultipartFile
MultipartFile转文件流很简单,InputStream inputStream = file.getInputStream();
文件流转MultipartFile需要借助MultipartFile的子类
方式一CommonsMultipartFile
依赖
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
代码
try {
// 文件输出流
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] bytes = bos.toByteArray();
FileItemFactory factory = new DiskFileItemFactory(16, null);
// file是文件名,JPEG是文件后缀,这里是图片
FileItem item = factory.createItem("file", "text/plain", true, "JPEG");
// 这里InputStream inputStream = item.getInputStream();输入流转MultipartFile也Ok
OutputStream os = item.getOutputStream();
os.write(bytes);
bos.flush();
os.flush();
// MultipartFile
MultipartFile file = new CommonsMultipartFile(item);
} catch (Exception e) {
log.error("异常信息:", e);
}
方式二MockMultipartFile
依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
代码
try {
File file = new File(path);
InputStream inputStream = new FileInputStream(file);
// MultipartFile
MultipartFile file = new MockMultipartFile("新文件名", "文件原始名", "text/plain", inputStream);
} catch (Exception e) {
log.error("异常信息:", e);
}