ssm框架下使用请求图片资源后缀消失处理

简介:  在sping mvc中使用get方法获取图片第一次光荣牺牲。。。好吧,在sping中如果路径带“.”的话会被忽略。第二次使用了使用Spring正则表达式(SpEL)完美解决问题。@RequestMapping(value = "/getImage/{fileName:.

 

在sping mvc中使用get方法获取图片第一次光荣牺牲。。。好吧,在sping中如果路径带“.”的话会被忽略。

第二次使用了使用Spring正则表达式(SpEL)完美解决问题。

@RequestMapping(value = "/getImage/{fileName:.+}",method = RequestMethod.GET)
    public void testpic(HttpServletResponse response,@PathVariable String fileName) throws IOException {
        FileInputStream fis = null;
        File file = new File(photoLocationPath + "/" + fileName);
        fis = new FileInputStream(file);
        String fileExtensionName = "image/" + fileName.substring(fileName.lastIndexOf(".") + 1);
        //设置返回的文件类型
        response.setContentType(fileExtensionName);
        IOUtils.copy(fis, response.getOutputStream());
    }

本以为问题就此结束,结果遇上了gif的图片格式,悲催。。。。404刷一波,其他图片文件都可以,就这不行,好吧下面开动歪脑筋~

@RequestMapping(value = "/getImage/{fileName}/{suffix}",method = RequestMethod.GET)
    public void testpic(HttpServletResponse response,@PathVariable String fileName,@PathVariable String suffix) throws IOException {
        FileInputStream fis = null;
        File file = new File(photoLocationPath + "/" + fileName);
        fis = new FileInputStream(file);
        String fileExtensionName = "image/" + suffix;
        //设置返回的文件类型
        response.setContentType(fileExtensionName);
        IOUtils.copy(fis, response.getOutputStream());
    }
}

 

大家可以看到,我这里多传了个“suffix”指的是文件的后缀(我不会告诉你我是想把下面设置文件类型截取字符串的方法给去掉才这么做的)。可以看到下图的fileName就可以正常取值了。

当然我们也可以通过在sping mvc的配置过滤:例

<servlet-mapping> 
<servlet-name>default</servlet-name> 
<url-pattern>*.css</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
<servlet-name>default</servlet-name> 
<url-pattern>*.gif</url-pattern> 
</servlet-mapping> 

一个个去配置的话显然对不起我的名字,嗯,这里就歪到底不改了。

相关文章
|
3月前
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
3月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
3月前
|
Java 数据库连接 Maven
SSM框架整合图书管理项目
这篇文章是关于SSM框架整合到图书管理项目的详细教程,涵盖了从Maven项目构建、依赖导入、数据库连接、配置文件编写、实体类和接口实现到SpringMVC整合的完整步骤。
SSM框架整合图书管理项目
|
2月前
|
XML Java 数据库连接
如何搭建SSM框架、图书商城系统
这是一份详尽的《Spring + SpringMVC + Mybatis 整合指南》,作者耗时良久整理出约五万字的内容,现已经全部笔记公开。此文档详细地介绍了如何搭建与整合SSM框架,具体步骤包括创建Maven项目、添加web骨架、配置pom文件以及整合Spring、SpringMVC和Mybatis等。无论是对初学者还是有一定基础的开发者来说,都是很好的学习资源。此外,作者还提供了项目源码的GitHub链接,方便读者实践。虽然当前主流推荐学习SpringBoot,但了解SSM框架仍然是不可或缺的基础。
28 0
|
3月前
|
Java 数据库
使用ssm框架搭建的图书管理系统
本文介绍了使用SSM框架搭建的图书管理系统,包括图书信息管理、借阅记录管理、公告管理、出入库管理以及用户管理等功能。
使用ssm框架搭建的图书管理系统
|
5月前
|
Java
SSM框架Controller层可以做什么
SSM框架Controller层可以做什么
|
5月前
|
存储 Java 关系型数据库
基于SSM框架的电影院售票网站
基于SSM框架的电影院售票网站
基于SSM框架的电影院售票网站
|
5月前
|
前端开发 Java
基于SSM框架的手机商城项目
基于SSM框架的手机商城项目
51 0
|
5月前
|
Java 数据库连接 Spring
杨校老师课堂之Java EE框架SSM所需jar包下载
杨校老师课堂之Java EE框架SSM所需jar包下载
56 0
|
5月前
|
Java 关系型数据库 MySQL
基于Java和SSM框架的多人命题系统
基于Java和SSM框架的多人命题系统