在jsp中通过I/O流方式读取图片并展示到页面
之前在做一个项目时用到了图片上传并立即展示到页面浏览,而且图片存放在硬盘上的一个文件夹中而非在工程与数据库中,这就会出现一个问题,如果不是在开发程序环境中访问图片页面,则会出现图片不能展示情况,原因很明显,就是外部无法访问到服务器硬盘上的图片。所以这时就需要用到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流方式读取图片并展示到页面相关推荐
- MVC中根据后台绝对路径读取图片并显示在IMG中
数据库存取图片并在MVC3中显示在View中 根据路径读取图片: byte[] img = System.IO.File.ReadAllBytes(@"d:\xxxx.jpg"); ...
- img src请求后台值值能判断_MVC中根据后台绝对路径读取图片并显示在IMG中
简介:在有些情况下需要将图片转换为二进制流存放在数据库中,当显示时再从数据库中读出来显示在界面上. 本文简单介绍数据库中图片的存取方法,并在MVC3中显示在Razor视图中.仅供初学者参考学习. 1. ...
- 利用Tensorflow中的TFRecord生成与读取图片
本人是深度学习的爱好者,最近在参加cv的表情识别训练,把一些步骤和过程记录下来 一.什么是TFRecord 对于计算机的内存来说,我们训练集样本的数目是巨大的,而且这些文件分散在不同的文件夹中,在存读 ...
- kindeditor 在jsp中,无法上传本地图片的解决
1.在myeclipse中新建项目,使kindeditor 的除了本地图片之外的其他功能正常使用.(具体过程网络上很多,google一把) 2.kindeditor.js这个文件在图片的本地上传的地方 ...
- jupyter读取图片并展示的两种方法
1.通用方法:python打开 from PIL import Image display(Image.open("data/20a6a2.png")) #data/20a6a2. ...
- JSP中访问本地图片
图片不放在工程路径下 在JSP 文件中 <img src="C:/Users/fx/Pictures/test.jpg"/> 这样是引不到图片的.因为,JSP页面 ...
- 从oracle中读取图片,从oracle数据库中读取图片,在jsp?
servlet:(jsp调用servlet显示图片,servlet如下) public void doGet(HttpServletRequest request, HttpServletRespon ...
- jsp中解决中文乱码问题(基础问题)
在两个jsp简单页面编写中,出现了一个问题,出现了中文乱码, 本应该出现的中文显示不出来,分析如下:java编程之所以会出现说出现中文乱码是 因为:Java的内核和class文件是基于unicode的 ...
- jsp mysql 图片路径,请教JSP中怎么向MySql中存入和取出图片
当前位置:我的异常网» Java Web开发 » 请教JSP中怎么向MySql中存入和取出图片 请教JSP中怎么向MySql中存入和取出图片 www.myexceptions.net 网友分享于:2 ...
最新文章
- 网站收录工具(php导航自动收录源码)_网站如何快速收录,网站不收录怎么办?...
- android系统密码设置功能,手机锁屏密码怎么设置 三种安卓手机锁屏方式推荐
- 5G年终盘点:2018,意难平
- richTextBox设置选中的字体属性
- JavaScript代码(一)
- Lindström–Gessel–Viennot lemma
- 遍历Page的Controls集合
- [转]VC工程文件说明
- Assigning retained object to weak property object will be released after assignment
- ESP32使用DFROBOT通过MQTT服务器进行NFC读写
- 夏普利模型在衡量团队成员价值中的思考
- vue中的数据可视化(echarts)和highcharts
- 1894 完美的牛栏
- vue移动端开启键盘 页面底部样式乱了
- Java开发Mye_Java使用MyEclipse构建webService简单案例
- VBA遍历文件夹及子文件夹中所有文件
- vs2017c语言程序打包,VS2017桌面应用程序打包成.msi或者.exe
- hadoop不在sudoers文件中。此事将被报告。 解决方法
- 让猛男害羞的AI特效,女友们纷纷笑成了开水壶;李逵、关羽:这是我???...
- 半年学好英语能有多简单?
热门文章
- v-charts legend设置排列对齐的方法
- edge插件默认下载位置
- python读取edi_对python .txt文件读取及数据处理方法总结
- 【课后习题】高等数学第七版上第三章 微分中值定理与导数的应用 第二节 洛必达法则
- BottomNavigationView(底部导航)
- linux控制pwm输出个数,树莓派精确控制pwm输出,控制步进电机
- belt rust take tours_「Rust每日新闻」本周精选 • 第二十二期
- 计算圆球体积的c语言PTA,c语言程序设计教学课件2013韩立毛徐秀芳书后练习学习题参考-答案~.doc...
- Nginx解决端口问题
- 天生变态狂:TED心理学家的脑犯罪之旅