问题描述
文件名一般带有后缀,但是PathVariable会把最后一个.后面的内容忽略。
解决方法一
比较笨的方法,再加一个PathVariable,把后缀和filename分开然后独立写一下。
解决方法二
也比较笨,再文件名最后再加个.,这样就不会过滤前面那个.了。
解决方法三
最直接用sqel,如下图,这样就不会把.后面过滤了。
@GetMapping("/file/{filename:.+}")
本文探讨了在使用PathVariable时遇到的一个常见问题——框架自动忽略文件名中最后一个点号(.)后的后缀。提供了三种解决方案:一是通过增加额外的PathVariable来分别处理文件名和后缀;二是通过在文件名末尾添加额外的点号来规避框架的默认行为;三是采用更直接的方法,利用正则表达式匹配所有字符,确保点号后的后缀不会被忽略。
问题描述
文件名一般带有后缀,但是PathVariable会把最后一个.后面的内容忽略。
解决方法一
比较笨的方法,再加一个PathVariable,把后缀和filename分开然后独立写一下。
解决方法二
也比较笨,再文件名最后再加个.,这样就不会过滤前面那个.了。
解决方法三
最直接用sqel,如下图,这样就不会把.后面过滤了。
@GetMapping("/file/{filename:.+}")
919
2159
4206
1074

被折叠的 条评论
为什么被折叠?