最近项目中需要用到IO流来读取图片以提供前台页面展示,由于以前一直是用url路径的方式进行图片展示,一听说要项目要用IO流读取图片感觉好复杂一样,但任务下达下来了,做为程序员只有选择去执行喽,于是找了点资料看了会api,

嘿感觉挺简单的,由于是第一次采用IO流的方式进行读取图片供页面显示,所以把以下代码记录一下

 

后台代码:

  1. <span style="white-space:pre">  </span>/**
  2. * IO流读取图片 by:long
  3. * @return
  4. */
  5. @RequestMapping(value = "/IoReadImage/{imgName}", method = RequestMethod.GET)
  6. public String IoReadImage(@PathVariable String imgName,HttpServletRequest request,HttpServletResponse response) throws IOException {
  7. ServletOutputStream out = null;
  8. FileInputStream ips = null;
  9. try {
  10. //获取图片存放路径
  11. String imgPath = Constans.FOLDER_IMAGE + imgName;
  12. ips = new FileInputStream(new File(imgPath));
  13. response.setContentType("multipart/form-data");
  14. out = response.getOutputStream();
  15. //读取文件流
  16. int len = 0;
  17. byte[] buffer = new byte[1024 * 10];
  18. while ((len = ips.read(buffer)) != -1){
  19. out.write(buffer,0,len);
  20. }
  21. out.flush();
  22. }catch (Exception e){
  23. e.printStackTrace();
  24. }finally {
  25. out.close();
  26. ips.close();
  27. }
  28. return null;
  29. }

前台代码 - 方式一:

  1. <span style="white-space:pre">  </span><div style="float: left;">
  2. <#--${model.userDatil.photo} 为数据库存放的文件名称-->
  3. <img src="${ctx}/userInfo/IoReadImage/${model.userDatil.photo}" id="npcImg" width="125" height="148"/>
  4. <input type="hidden" id="photo" name="photo"/>
  5. </div>
 

js代码 - 方式二:

  1. var npcName = $('#npcImg').data('val');
  2. var img = document.getElementById("npcImg");
  3. img.src = '/userInfo/IoReadImage/'+npcName;
jQuery代码 - 方式三:
  1. <span style="white-space:pre">  </span>$('#npcImg').attr('src','/userInfo/IoReadImage/'+npcName);

好了就这么简单,前台就可以显示图片了,总共才几句代码,就不额外注释说明了

 
原文出处:
[1] 江西DJ烟仔ReMix, java IO流读取图片供前台显示, http://blog.csdn.net/u014598014/article/details/70232854

java IO流读取图片供前台显示的更多相关文章

  1. java io流读取 和commons.io的使用

    前提:记事本里面一共有605个字 1.使用BufferedReader和FileReader来读取txt里面的内容,用时相对短.读完记得关闭流br.close() 2.指定UTF-8输出格式,使用Fi ...

  2. java IO流复制图片

    一.使用字节流复制图片 //字节流方法 public static void copyFile()throws IOException { //1.获取目标路径 //(1)可以通过字符串 // Str ...

  3. java IO流 复制图片

    (一)使用字节流复制图片 //字节流方法 public static void copyFile()throws IOException { //1.获取目标路径 //(1)可以通过字符串 // St ...

  4. Java IO流读取文件

    使用指定编码读取文件 public static String toString(File file, String charset){ StringBuilder result = new Stri ...

  5. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...

  6. Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

    Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...

  7. Java IO 流总结篇

    1. 写在前面的话 I/O ,I 是 Input (输入)的缩写,O是Output (输出) 的缩写,众所周知,人与人之间想要沟通交流,就需要讲彼此都能听懂的语言,比如大家都统一说英语. 人类如果想和 ...

  8. java IO流 总结

    [-] 1什么是IO 2数据流的基本概念 1 数据流 2 输入流Input  Stream 3 输出流 数据流分类 3 标准IO 命令行参数 标准输入输出数据流 4javaIO层次体系结构 5 非流式 ...

  9. java IO流文件的读写具体实例(转载)

    引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能 ...

随机推荐

  1. Java面试-TCP连接及其优化

    作为一个后端程序员,网络连接这块是一个绕不过的砍,当你在做服务器优化的时候,网络优化也是其中一环,那么作为网络连接中最基础的部分-TCP连接你了解吗?今天我们来仔细看看这个部分. TCP建立连接-三次 ...

  2. 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  3. 【C#进阶学习】泛型

    一.泛型引入 需求:传入一个类型(整型/日期/字符串或其他),打印出它的类型和内容. 1.初级版 public class CommonMethod { /// <summary> /// ...

  4. Spring扩展点之BeanPostProcessor

    前言 BeanPostProcessor接口是Spring中一个非常重要的接口,它的接口定义如下 public interface BeanPostProcessor { Object postPro ...

  5. APS的未来会怎么样?历史给了你答案

    一项技术从概念推广到实际应用推广需要十五到二十年时间,21世纪的头十年是APS的概念推广时期,随着理论的成熟,软件的实用化,企业应用的深入,下一个十年,APS将是实际应用推广的时期. APS兴起 从上 ...

  6. 开机注册联通2G网络

    2/3G PLMN LIST 在MM_RATCM_PLMN_LIST_CNF或NWSEL_MM_PLMN_SEARCH_CNF消息中可以查看2,3G搜到的PLMN LIST 内容如下: RAT:Rad ...

  7. springboot 登录实现源代码解析

    springboot 可以使用springsecurity 作为安全框架,我们可以使用springsecurity 实现安全登录. springsecurity 是使用一系列的过滤器来实现安全的. 实 ...

  8. Linux shell变量详解

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...

  9. Linux计划任务管理

    计划任务 类型:     一次性计划任务     周期性计划任务      一次性计划任务 前提:  atd服务必须运行 [root@wei init.d]# yum -y install at   ...

  10. Leetcode——2. 两数相加

    难度: 中等 题目 You are given two non-empty linked lists representing two non-negative integers. The digit ...