springboot InputStream转MultipartFile的具体实现代码
时间: 2024-10-11 14:07:12 浏览: 67
Blob、InputStream、byte 互转
4星 · 用户满意度95%
Spring Boot 中将 `InputStream` 转换为 `MultipartFile` 的过程通常发生在接收用户上传文件的场景中。下面是一个简单的示例,展示了如何在控制器中完成这个转换:
```java
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
// 假设我们有一个方法接受上传文件
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "Error: 文件为空";
}
try {
// 获取输入流
InputStream inputStream = file.getInputStream();
// 这里你可以做进一步的操作,例如保存到本地、数据库等
// 先假设我们只是简单地打印流的内容
byte[] bytes = new byte[(int) file.getSize()];
inputStream.read(bytes);
System.out.println(new String(bytes));
// 关闭输入流
inputStream.close();
return "File uploaded successfully";
} catch (IOException e) {
return "Error uploading file: " + e.getMessage();
}
}
```
在这个例子中,`@RequestParam` 注解用于从请求中获取名为 "file" 的 `MultipartFile` 对象。然后,通过 `file.getInputStream()` 可以得到输入流,接着读取其内容并进行处理。
阅读全文