inputStream 转MultipartFile
时间: 2023-08-22 22:15:05 浏览: 832
InputStream与OutputStream及File间互转
3星 · 编辑精心推荐
要将 InputStream 转换为 MultipartFile,你可以使用 `MockMultipartFile` 类来实现。MockMultipartFile 是 Spring 框架提供的一个实用类,用于模拟 MultipartFile 对象。
下面是一个示例代码,展示了如何将 InputStream 转换为 MultipartFile:
```java
import org.springframework.mock.web.MockMultipartFile;
import java.io.IOException;
import java.io.InputStream;
public class InputStreamToMultipartFileConverter {
public static MultipartFile convert(InputStream inputStream, String name, String originalFilename, String contentType) throws IOException {
byte[] content = inputStream.readAllBytes();
return new MockMultipartFile(name, originalFilename, contentType, content);
}
// 示例用法
public static void main(String[] args) throws IOException {
// 假设你已经有一个 InputStream 对象
InputStream inputStream = ...;
// 使用上述方法将 InputStream 转换为 MultipartFile
MultipartFile multipartFile = convert(inputStream, "file", "filename.txt", "text/plain");
// 现在你可以在 Spring 中使用 multipartFile 对象了
// 比如上传到服务器的某个接口中
// ...
}
}
```
请注意,这里使用了 `readAllBytes()` 方法来一次性将 InputStream 的内容读取到字节数组中。这种方式适用于较小的文件,如果你处理大文件,可能需要使用其他方法来处理流式读取。
希望这个示例能对你有所帮助!如有任何疑问,请随时提问。
阅读全文