java 判断MultipartFile文件后缀
时间: 2023-10-12 16:08:58 浏览: 48
可以使用`MultipartFile`的`getOriginalFilename()`方法获取文件名,然后通过字符串截取获取文件后缀名,再判断后缀名是否符合要求。
示例代码如下:
```java
MultipartFile file = // 获取上传的文件
String fileName = file.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); // 获取文件后缀名
if (!"jpg".equals(suffix) && !"jpeg".equals(suffix) && !"png".equals(suffix)) {
// 后缀名不符合要求,进行相应处理
}
```
在上面的示例代码中,假设要判断文件后缀名是否为`jpg`、`jpeg`或`png`,如果后缀名不符合要求,则可以进行相应的处理,例如返回错误提示信息或抛出异常。
相关问题
java对multipartfile文件后缀名校验判断是不是word和文件大小是否在100M以内
Java对multipartfile文件后缀名校验判断和文件大小是否在100M以内的代码可以如下实现:
```
// 获取文件后缀名
String originalFilename = multipartFile.getOriginalFilename();
String fileSuffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
// 判断文件后缀名是否为word
if (!"doc".equals(fileSuffix) && !"docx".equals(fileSuffix)) {
// 非word文件,进行处理
// ...
}
// 判断文件大小是否在100M以内
if (multipartFile.getSize() > 100 * 1024 * 1024) {
// 文件大小超过100M,进行处理
// ...
}
```
这段代码可以用于校验上传的文件是否符合要求。
Java 判断MultipartFile xlsx文件为空
你可以使用 MultipartFile 的 isEmpty() 方法来判断文件是否为空,然后再通过文件名的后缀名来判断文件类型是否为 xlsx。
下面是一个示例代码:
```
public boolean isXlsxFileEmpty(MultipartFile file) {
if (file.isEmpty()) {
return true;
}
String fileName = file.getOriginalFilename();
if (fileName.endsWith(".xlsx")) {
try {
XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream());
XSSFSheet sheet = workbook.getSheetAt(0);
return (sheet == null || sheet.getLastRowNum() <= 0);
} catch (IOException e) {
e.printStackTrace();
return true;
}
}
return false;
}
```
这个方法会先判断文件是否为空,如果是,则直接返回 true。然后会通过文件名的后缀名来判断文件类型是否为 xlsx,如果是,则尝试读取文件并获取第一个工作表,然后判断该工作表是否为空。如果为空,则返回 true,否则返回 false。
注意:这个方法使用了 Apache POI 库来读取 xlsx 文件,需要在项目中添加相应的依赖。