图片控制器代码如下:

@Controller
@RequestMapping("/")
public class WebController {@RequestMapping(method=RequestMethod.GET,path="/img/{imgNo}")public void getImg(HttpServletResponse response,int index) throws IOException{  //读取图片文件到一个byte[]File file = new File("C:\\Users\\luchu\\Desktop\\QQ截图20160410192529.jpg");OutputStream stream = response.getOutputStream();FileInputStream reader = new FileInputStream(file);byte[] data= new byte[ (int) file.length()];reader.read(data);reader.close();//记得设置ContentTyperesponse.setContentType("image/png");stream.write(data);stream.flush();}}

可以看到,这里链接不再是指定某一个图片的具体位置,而是根据id动态生成。当使用 MongoDB 的 GirdFS 来存储文件时,这样使用就很有必要了。

有了这个控制器,在页面上就可以这样请求图片:

<img src="/img/182034" />  

Spring MVC 生成文件类型响应相关推荐

  1. Mr.张小白(案例:基于Spring MVC实现文件上传和下载)

    基于Spring MVC实现文件上传和下载 一.步骤 1.引入相关依赖pom.xml <?xml version="1.0" encoding="UTF-8&quo ...

  2. 如何在返回String的Spring MVC @ResponseBody方法中响应HTTP 400错误?

    本文翻译自:How to respond with HTTP 400 error in a Spring MVC @ResponseBody method returning String? I'm ...

  3. Spring boot返回JSON类型响应及Content-Type设置

    2019独角兽企业重金招聘Python工程师标准>>> 一.背景 服务器软件用Spring boot开发,API调用的响应消息格式为JSON. 对端调用接口后无法解析响应. 抓包看R ...

  4. 【Spring MVC】文件上传、文件下载

    页面效果: 一.文件下载 1.访问资源时相应头如果没有设置 Content-Disposition,浏览器默认按照 inline 值进行处理 1.1 inline 能显示就显示,不能显示就下载. 2. ...

  5. Swagger+Spring mvc生成Restful接口文档

    2019独角兽企业重金招聘Python工程师标准>>> Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端 ...

  6. 利用Spring MVC 上传图片文件

    本文转自:http://amcucn.iteye.com/blog/264457.感谢作者 近日在工作当中,需要用到上传图片的功能,然而自己平时学习的时候只会使用struts的上传功能,但因为项目并没 ...

  7. Spring MVC 解决日期类型动态绑定问题

    出处:http://www.cnblogs.com/crazy-fox/archive/2012/02/18/2357699.html ean 名为User,则在相同的包中存在UserEditor类可 ...

  8. Spring MVC Converter(类型转换器)详解

    Spring MVC 框架的 Converter<S,T> 是一个可以将一种数据类型转换成另一种数据类型的接口,这里 S 表示源类型,T 表示目标类型.开发者在实际应用中使用框架内置的类型 ...

  9. SSM框架之Spring MVC(三)http响应、文件上传

    一.响应数据和结果视图 1.1 返回值分类 1.1.1 字符串 创建实体类和controller类 实体类User package cn.xiaomifeng1010.domain;import ja ...

最新文章

  1. 微软面试题:鸡蛋从第N层及以上的楼层落下会摔破
  2. JVM—类加载器和双亲委派模型
  3. Standard Deviation Normal Distribution
  4. 使用git bash提交代码到github托管
  5. .net 导出excel_.NET Core一行代码导入导出Excel生成Word
  6. java防xss攻击_java 防止xss攻击
  7. 详解LVDS通信协议
  8. 线上编程学院codecademy
  9. 数据库 实验二 数据库的单表查询和连接查询
  10. bpm导出成html,一种基于BPM系统的EXECL导入免开发生成静态HTML表单的方法与流程...
  11. 蒙特卡罗(Monte Carlo)方法计算圆周率π
  12. Latex——数学符号大全
  13. 今日头条信息流广告怎么做?(今日头条信息流广告费用解析)
  14. 华为路由器路由表解析
  15. IDEA 创建 maven pom
  16. java中load_Load Java参数描述的细节
  17. 2、无芯片RFID标签介绍
  18. 雅思系列学习——词汇(持续更新)
  19. Scala语法小练习(银行小程序)
  20. 从搬砖工到亿万富豪,这些年他经历了什么?

热门文章

  1. 微信支付—微信H5支付「微信内部浏览器」
  2. oracle 监听 无法连接,oracle监听hang,无法建立新连接TNS-12540
  3. webview代码实例化_WebView常用类和基本方法详解
  4. 在线安装php,CentOS在线安装PHP|dayblog-天天博客|PHP交流,PHP技术,PHP博客,博客交流,dayblog,blog,天天博客...
  5. 行末没有空格c语言,新人提问:如何将输出时每行最后一个空格删除
  6. ajax的学多久,ajax第二天学习
  7. SecureCRT连接linux时主机名,secureCRT连接linux方法
  8. mysql数据库的变量有哪些_[数据库]MySQL变量
  9. java深度克隆大数据_Java - 深拷贝技巧
  10. 【Git、GitHub、GitLab】四 Git文件重命名的简单方法以及使用git log查看版本演变历史