文件上传如何对文件对象MultipartFile进行文件大小,格式,代码示例
时间: 2023-11-02 20:42:49 浏览: 49
在Java中,文件上传通常使用Spring框架的MultipartFile对象。可以使用MultipartFile来获取文件的大小和格式,并进行相应的校验。以下是一个示例代码:
```java
import org.springframework.web.multipart.MultipartFile;
public class FileUploadService {
public void uploadFile(MultipartFile file) {
// 检查文件大小
long fileSize = file.getSize();
if (fileSize > MAX_FILE_SIZE) {
throw new IllegalArgumentException("File size exceeds the maximum limit.");
}
// 检查文件格式
String fileExtension = getFileExtension(file.getOriginalFilename());
if (!isSupportedFileFormat(fileExtension)) {
throw new IllegalArgumentException("Unsupported file format.");
}
// 执行文件上传操作
// ...
}
// 获取文件扩展名
private String getFileExtension(String fileName) {
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex > 0 && dotIndex < fileName.length() - 1) {
return fileName.substring(dotIndex + 1).toLowerCase();
}
return "";
}
// 检查文件格式是否支持
private boolean isSupportedFileFormat(String fileExtension) {
String[] supportedFormats = { "jpg", "jpeg", "png", "gif" }; // 支持的文件格式列表
for (String format : supportedFormats) {
if (format.equalsIgnoreCase(fileExtension)) {
return true;
}
}
return false;
}
}
```
在上述示例中,`uploadFile`方法接收一个MultipartFile对象作为参数。通过调用`getSize()`方法可以获取文件的大小,然后与预定义的最大文件大小比较进行校验。通过调用`getOriginalFilename()`方法获取文件名,并通过`getFileExtension`方法获取文件扩展名,然后与支持的文件格式列表进行比较,以确定文件格式是否支持。
请注意,示例中的`MAX_FILE_SIZE`和`isSupportedFileFormat`方法是示例中的一些自定义常量和方法,你可以根据实际需求进行调整和扩展。
这只是一个简单的文件上传校验示例,实际应用中可能还需要考虑其他安全性和业务需求。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)