MultipartFile类 获取文件名不带后缀
时间: 2023-08-10 07:21:24 浏览: 148
可以使用MultipartFile类的getOriginalFilename()方法获取文件名,然后再用String类的substring()方法去掉文件后缀。具体实现可以参考以下代码:
```java
MultipartFile file = ...; // 获取上传的文件
String fileName = file.getOriginalFilename(); // 获取文件名,包括后缀
String filePrefix = fileName.substring(0, fileName.lastIndexOf(".")); // 去掉文件后缀,只保留文件名
```
其中,lastIndexOf()方法返回指定字符在字符串中最后一次出现的位置,substring()方法则返回指定位置之间的子字符串。
相关问题
MultipartFile怎么获取文件名
MultipartFile可以通过getOriginalFilename()方法获取文件名,但是在使用Internet Explorer或Microsoft Edge上传文件时,该方法获取到的是文件的完整路径,因此需要进行一些处理才能获取到文件名。以下是两种获取文件名的方式:
第一种方式:
```
//获取文件名称(可能包含路径)
String fileName = file.getOriginalFilename();
//获取最后"/"的索引
int startIndex = fileName.replaceAll("\\\\", "/").lastIndexOf("/");
//截取文件名,根据业务,文件后缀也可去掉
fileName = fileName.substring(startIndex + 1).substring(0,fileName.indexOf("."));
```
第二种方式:
```
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
```
其中,第二种方式需要引入org.springframework.util.StringUtils类。需要注意的是,如果文件名中包含路径,则需要进行处理才能获取到正确的文件名。
MultipartFile获取文件名无后缀
要获取MultipartFile对象的文件名无后缀,可以使用Apache Commons IO库中的FilenameUtils类。使用FilenameUtils.getName(multipartFile.getOriginalFilename())方法可以获取文件名并去除后缀。这个方法可以处理Unix或Windows格式的文件路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [MultipartFile 上传 getOriginalFileName获取文件名称注意事项](https://blog.csdn.net/weixin_52308594/article/details/126740011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文