java 不使用 MockMultipartFile ,实现 InputStream 转 MultipartFile
时间: 2023-10-12 08:13:22 浏览: 86
Java实现inputstream流的复制代码实例
可以使用以下代码实现 InputStream 转 MultipartFile:
```java
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
public class InputStreamToMultipartFile {
public static MultipartFile toMultipartFile(String name, InputStream inputStream, String contentType) throws IOException {
byte[] bytes = inputStream.readAllBytes();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
return new CommonsMultipartFile(new CommonsMultipartResolver().resolveMultipart(null)
.getFileItemFactory().createItem(name, contentType, true, null))
.parse(byteArrayInputStream);
}
}
```
其中,name 是文件名,inputStream 是输入流,contentType 是文件类型。使用时,可以调用如下代码:
```java
InputStream inputStream = ... ; // 输入流
String name = "test.jpg";
String contentType = "image/jpeg";
MultipartFile multipartFile = InputStreamToMultipartFile.toMultipartFile(name, inputStream, contentType);
```
阅读全文