MultipartFile uploadImg
时间: 2024-07-05 20:01:21 浏览: 135
uploadImg
`MultipartFile` 是Spring MVC框架中用于处理文件上传的一个核心类。当你需要让用户上传图片或者其他类型的文件时,`MultipartFile` 对象会被用来存储上传的数据。以下是一些关于 `MultipartFile` 的基本信息和用法:
1. **创建**:在处理HTTP请求时(通常是POST方法),你可以从`request`对象中获取到`MultipartFile`实例,例如:
```java
@PostMapping("/upload-image")
public String handleFileUpload(@RequestParam("file") MultipartFile uploadImg) {
// 处理上传的文件逻辑
}
```
这里的`uploadImg`参数就是用户上传的文件。
2. **验证**:你可以检查文件是否已上传、类型是否允许、大小是否超过限制等:
```java
if (uploadImg.isEmpty()) {
// 文件未选择或上传失败
} else if (!allowedExtensions.contains(uploadImg.getOriginalFilename().substring(uploadImg.getOriginalFilename().lastIndexOf(".") + 1))) {
// 文件扩展名不被接受
} else if (uploadImg.getSize() > maxFileSize) {
// 文件大小超出限制
}
// allowedExtensions: 允许的文件扩展数组
List<String> allowedExtensions = Arrays.asList(".jpg", ".png", ".jpeg");
long maxFileSize = 1024 * 1024 * 5; // 5MB
```
3. **读取文件内容**:如果文件上传成功,你可以使用`InputStream`来读取文件内容,然后保存到服务器或进行其他处理:
```java
InputStream inputStream = uploadImg.getInputStream();
try (BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(new File("path/to/save")))) {
byte[] bytes = new byte[1024];
int read;
while ((read = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
} finally {
inputStream.close();
}
```
阅读全文