之前在做一个项目时用到了图片上传并立即展示到页面浏览,而且图片存放在硬盘上的一个文件夹中而非在工程与数据库中,这就会出现一个问题,如果不是在开发程序环境中访问图片页面,则会出现图片不能展示情况,原因很明显,就是外部无法访问到服务器硬盘上的图片。所以这时就需要用到i/o流读取图片并展示,以下是具体步骤:

1.图片展示页面showImg.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>i/o流读取图片</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><script src="local/communication/static/jquery.min.js" charset="utf-8"></script><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><div><img id="viewImg2" src="local/communication/db/img.jsp?flag=zheng" style="height:90px;width:200px;" ></div></body>
</html>

2.通过jsp页面服务读取图片,imp.jsp代码:

<%@ page language="java" import="java.util.*,java.util.Map.Entry,java.text.SimpleDateFormat,java.util.Date,net.sf.json.JSONArray,net.sf.json.JSONObject,java.net.URLEncoder,java.net.URLDecoder" pageEncoding="utf-8"%>
<%@page import="java.io.FileInputStream"%>
<%@page import="java.io.BufferedOutputStream"%>
<%@page import="java.io.InputStream"%>
<%@page import="java.io.BufferedInputStream"%>
<%@page import="java.io.OutputStream,java.io.FileOutputStream,java.io.IOException,java.io.FileInputStream,java.io.PrintWriter," %>
<%
request.setCharacterEncoding("UTF-8");
response.setContentType("image/png");
response.setHeader("Content-Disposition","attachment;Filename=test.png");
BufferedOutputStream bos = null;
InputStream fis = null;
BufferedInputStream bis = null;String flag=request.getParameter("flag")==null?"":request.getParameter("flag");
try{String tPath="D://img/11.jsp";bos = new BufferedOutputStream(response.getOutputStream());fis = new FileInputStream(tPath);bis = new BufferedInputStream(fis);byte[] buff = new byte[2048];int bytesRead;while (-1 != (bytesRead = bis.read(buff, 0, buff.length))){bos.write(buff, 0, bytesRead);}bos.flush();
}catch(Exception e){
}finally{if(bos!=null){bos.close();}if(bis!=null){bis.close();}if(fis!=null){fis.close();}
}
out.clear();
out = pageContext.pushBody();
%>

在jsp中通过I/O流方式读取图片并展示到页面相关推荐

  1. MVC中根据后台绝对路径读取图片并显示在IMG中

    数据库存取图片并在MVC3中显示在View中 根据路径读取图片: byte[] img = System.IO.File.ReadAllBytes(@"d:\xxxx.jpg"); ...

  2. img src请求后台值值能判断_MVC中根据后台绝对路径读取图片并显示在IMG中

    简介:在有些情况下需要将图片转换为二进制流存放在数据库中,当显示时再从数据库中读出来显示在界面上. 本文简单介绍数据库中图片的存取方法,并在MVC3中显示在Razor视图中.仅供初学者参考学习. 1. ...

  3. 利用Tensorflow中的TFRecord生成与读取图片

    本人是深度学习的爱好者,最近在参加cv的表情识别训练,把一些步骤和过程记录下来 一.什么是TFRecord 对于计算机的内存来说,我们训练集样本的数目是巨大的,而且这些文件分散在不同的文件夹中,在存读 ...

  4. kindeditor 在jsp中,无法上传本地图片的解决

    1.在myeclipse中新建项目,使kindeditor 的除了本地图片之外的其他功能正常使用.(具体过程网络上很多,google一把) 2.kindeditor.js这个文件在图片的本地上传的地方 ...

  5. jupyter读取图片并展示的两种方法

    1.通用方法:python打开 from PIL import Image display(Image.open("data/20a6a2.png")) #data/20a6a2. ...

  6. JSP中访问本地图片

    图片不放在工程路径下    在JSP 文件中 <img src="C:/Users/fx/Pictures/test.jpg"/> 这样是引不到图片的.因为,JSP页面 ...

  7. 从oracle中读取图片,从oracle数据库中读取图片,在jsp?

    servlet:(jsp调用servlet显示图片,servlet如下) public void doGet(HttpServletRequest request, HttpServletRespon ...

  8. jsp中解决中文乱码问题(基础问题)

    在两个jsp简单页面编写中,出现了一个问题,出现了中文乱码, 本应该出现的中文显示不出来,分析如下:java编程之所以会出现说出现中文乱码是 因为:Java的内核和class文件是基于unicode的 ...

  9. jsp mysql 图片路径,请教JSP中怎么向MySql中存入和取出图片

    当前位置:我的异常网» Java Web开发 » 请教JSP中怎么向MySql中存入和取出图片 请教JSP中怎么向MySql中存入和取出图片 www.myexceptions.net  网友分享于:2 ...

最新文章

  1. 卷积神经网络(CNN)的简单实现(MNIST)
  2. 一元二次方程用c语言代码,一元二次方程求解程序完整代码
  3. C#反射实例No.1
  4. 硬盘分区与故障排解速查手册(1)
  5. MinGW 使用 msvcr90.dll
  6. 【C语言】在有序数组中插入一个数,保证它依然有序
  7. Python+OpenCV:图像Harris角点检测(Harris Corner Detection)
  8. tcp 压力 测试 软件,强大的TcpServer压力测试工具及源码(附突破连接限制的方法和工具)...
  9. matlab中fittype函数,fittype拟合函数
  10. java生成word 框勾_Java根据word模板生成word文档之设计详细思路—word标签定义 | 学步园...
  11. 从PROXMOX群集中安全删除节点
  12. Android基础四大组件详解
  13. 实操信贷场景中的反欺诈模型
  14. 斗地主洗牌+发牌+排序
  15. grub linux修复 pe,恢复Ubuntu GRUB引导的方法
  16. 打开浏览器,显示的首页是2345浏览器
  17. 同花顺_代码解析_技术指标_T、U
  18. 什么是A.B.C类网络 怎么区别和划分
  19. 如何在自己电脑上配置开发深度学习项目(windows)
  20. pycharm安装sklearn失败解决方法

热门文章

  1. [文摘20070509]管仲
  2. 人工智能:群智能算法的一般框架、特点和不足
  3. 电脑录屏怎么把声音录进去,两招教你把声音录进去
  4. 项目说事——信不信反正我信了(合作开发总结之文档)
  5. 两院院士评选“2021年中国/世界十大科技进展新闻”揭晓
  6. 高德地图获取所在城市POI数据
  7. TextView显示Gif图片实现图文混排
  8. DB2密码过期的解决办法-创建新密码
  9. NFT:使用 EIP-2981 开启 NFT 版税之旅
  10. win7改电脑名字方法_windows7计算机名称怎么更改