JSP读取Oracle数据库里的图片Blob字段并显示在页面上
1.java代码:
/**
* 打印模板获取电子签名
* @param request
* @param resp
* @param id
* @return
* @throws Exception
*/
@RequestMapping(value = "jzgx/getImage", method = RequestMethod.GET)
public void getImage(HttpServletRequest request, HttpServletResponse response,String id){
String sql = "SELECT SIGNATURE FROM RDP_PSIGNATURE P WHERE P.USER_ID = '"+id+"'";
OutputStream os = null;
try {
RecordSet rs = OperDbUtil.getRecordSet(sql);
os = response.getOutputStream();
//设定输出文件头
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(id,"UTF-8"));
//设置响应头
response.setContentType("image/"+id+";charset=utf-8");
if(rs.next()){
byte[] buf = rs.getBlob(1);
if(buf == null) return;
//清空输出流
response.reset();
os.write(buf);
}
} catch (Exception e) {
e.printStackTrace();
}
//释放资源
finally{
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
OperDbUtil是一个我们公司自己写的工具类,没有可以用
Connection conn = DBManager.getConnection(); PreparedStatement ps = null;
ResultSet rs = null;
InputStream is = null;
OutputStream os = null;
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
来执行sql语句。
2.jsp页面:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
...
...
...
<td><img src="<%=basePath%>jzgx/getImage.sd?id=${user1.id}" /></td>
跟网上大多数的不一样,仅供参考。
JSP读取Oracle数据库里的图片Blob字段并显示在页面上的更多相关文章
- struts中用kindeditor实现的图片上传并且显示在页面上
做公司网站的时候由于需要在内容属性中加入图片,所以就有了这个问题,本来一开始找几篇文章看都是讲修改kindeditor/jsp/file_manager_json.jsp和upload_json.js ...
- Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)
转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...
- oracle建表权限问题和JSP连接oracle数据库基本操作
JSP连接oracle数据库相关操作 1.创建表 打开Enterprise Manager Console,为用户添加权限CREATE ANY TABLE和分配一定的表空间USERS限额1024k. ...
- cx_Oracle读取Oracle数据库中文乱码问题解决
在使用cx_Oracle模块读取Oracle数据库中的中文记录时,返回值皆为?,后google得此佳文,遂问题得以解决,特此记之. Oracle数据库版本是10g,字符集是AL32UTF8. 编写的p ...
- Python+Pandas 读取Oracle数据库
Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...
- 【WPF学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)(评论处有学习资料及源码)
(应博友们的需要,在文章评论处有源码链接地址,以及WPF学习资料.工具等,希望对大家有所帮助) ...... 承接系列五 上一节讲了,已经把数据保存到数据库并且删除数据,本讲是把已经存在的数据从数据库 ...
- [转帖]Oracle数据库lob大对象数据类型字段总结,值得收藏
Oracle数据库lob大对象数据类型字段总结,值得收藏 原创 波波说运维 2019-07-11 00:02:00 https://www.toutiao.com/i67108943269703357 ...
- C#应用程序中读取Oracle数据库
前言 最近的任务就是开发了一个功能,要从供应商那边读取数据,然后拿过来,处理以后放到我们自己的数据库中.供应商那边是Oracle数据库,其实不管什么数据我想都差不多,于是我就开始了.由于在家里写的博客 ...
- 【JSP】JSP与oracle数据库交互案例
************************************************************************ ****原文:blog.csdn.net/clark_ ...
随机推荐
- spring事务隔离级别以及脏读 不可重复读 幻影读
隔离级别 声明式事务的第二个方面是隔离级别.隔离级别定义一个事务可能受其他并发事务活动活动影响的程度.另一种考虑一个事务的隔离级别的方式,是把它想象为那个事务对于事物处理数据的自私程度. 在一个典型的 ...
- python-socket2
UDP,服务端 #! /usr/bin/env python #coding=utf-8 import socket #创建socket,指定ipv4,udp类型 s = socket.socket( ...
- TYVJ P1728 普通平衡树
P1728 普通平衡树 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 此为平衡树系列第一道:普通平衡树 描述 您需要写一种数据结构(可参考题目标题),来维护 ...
- bzoj 3653: 谈笑风生 可持久化线段树
题目大意 在一棵单位边权的有根树上支持询问: 给定a,k求满足下列条件的有序三元对的个数. a,b,c互不相同 a,b均为c的祖先 a,b树上距离<=k 题解 solution 1 首先我们知道 ...
- iOS项目添加PCH文件
1.单击Info.plist右键单击->New File->Other->PCH File创建PCH文件 文件名设置成:项目名-Prefix ->点击Create,创建成功. ...
- 开源Log框架和平台介绍
共有162款 日志工具(Logging)开源软件 http://www.oschina.net/project/tag/144/logging
- HDOJ1166(线段树点修改)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 机器学习:scikit-learn中算法的调用、封装并使用自己所写的算法
一.scikit-learn库中的kNN算法 scikit-learn库中,所有机器学习算法都是以面向对象的形式进行包装的: 所有scikit-learn库中机器学习算法的使用过程:调用.实例化.fi ...
- JVM体系结构之五:本地方法栈
对于一个运行中的Java程序而言,它还可能会用到一些跟本地方法相关的数据区.当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界.本地方法可以通过本地方法接口来访问虚拟机的运行 ...
- svn、git等比较---总结
免费的版本控制系统: CVS:集中式的版本控制系统,必须联网,速度慢,CVS作为最早的开源而且免费的集中式版本控制系统,直到现在还有不少人在用.由于CVS自身设计的问题,会造成提交文件不完整,版本库莫 ...