文件上传如何对文件对象MultipartFile进行文件大小限制1M,格式为PDF,代码示例
时间: 2023-11-02 18:42:49 浏览: 164
java上传文件代码
在Java中,你可以使用MultipartFile对象来对文件大小和格式进行限制。下面是一个示例代码,演示了如何对文件对象MultipartFile进行文件大小限制为1MB,并且要求文件格式为PDF:
```java
import org.springframework.web.multipart.MultipartFile;
public class FileUploadService {
private static final long MAX_FILE_SIZE = 1 * 1024 * 1024; // 1MB
public void uploadFile(MultipartFile file) {
// 检查文件大小
if (file.getSize() > MAX_FILE_SIZE) {
throw new IllegalArgumentException("File size exceeds the maximum limit (1MB).");
}
// 检查文件格式
String fileExtension = getFileExtension(file.getOriginalFilename());
if (!"pdf".equalsIgnoreCase(fileExtension)) {
throw new IllegalArgumentException("Only PDF files are allowed.");
}
// 执行文件上传操作
// ...
}
// 获取文件扩展名
private String getFileExtension(String fileName) {
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex > 0 && dotIndex < fileName.length() - 1) {
return fileName.substring(dotIndex + 1).toLowerCase();
}
return "";
}
}
```
在上述示例中,`uploadFile`方法接收一个MultipartFile对象作为参数。首先,通过调用`getSize()`方法获取文件的大小,然后与预定义的最大文件大小(1MB)进行比较,如果文件大小超过限制,则抛出异常。
接下来,通过调用`getOriginalFilename()`方法获取文件名,并通过`getFileExtension`方法获取文件扩展名。如果文件扩展名不是"pdf"(不区分大小写),则抛出异常。
请注意,上述示例中的`MAX_FILE_SIZE`和`getFileExtension`方法是示例中的一些自定义常量和方法,你可以根据实际需求进行调整和扩展。
这只是一个简单的文件上传限制示例,实际应用中可能还需要考虑其他安全性和业务需求。
阅读全文