Java从数据库中读取Blob对象图片并显示的方法

java以Blob形式存储,读取图片并在jsp页面显示图片流       废话少说代码伺候:封装好的ImageUtil类:目的读取本地的图片文件并存入数据库,然后读出数据库中以Blob形式存储的图片保存到指定目录。package org.blog.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; 阅读详情

图片存放读取是开发过程中经常使用的,有的图片是以路径方式存放在数据库中,有的是引用的插件以blob类型存放在数据库中,这里简单介绍以blob类型存放数据库如何读取? 仅供参考

1.适用环境

oracle数据库,springmvc,mabits

2. 核心Controller层

@RequestMapping(value = "imageDisplay")
	public void showImage(@RequestParam("employeeCode") String employeeCode,
			HttpServletResponse response, HttpServletRequest request)
			throws ServletException, IOException, SQLException {
			Map map = employeePhotoService.getById(employeeCode);//根据员工工号查询员工照片,如果不会写可继续往下看
			if (map != null && map.size() > 0) {
				BLOB blob = (BLOB) map.get("AVATAR");
				byte[] bytes = blob.getBytes(1L, (int) blob.length());  // blob.getBytes

				response.setContentType("image/jpeg, image/jpg, image/png, image/gif");  //设置输出流内容格式为图片格式
				InputStream in1 = new ByteArrayInputStream(bytes);  //将字节流转换为输入流
				IOUtils.copy(in1, response.getOutputStream());//将字节从 InputStream复制到OutputStream中 
			}
		
		String logoRealPathDir = request.getSession().getServletContext()
				.getRealPath("/img/default.jpg");//获取默认图片路径
		InputStream is = new FileInputStream(logoRealPathDir);

		IOUtils.copy(is, response.getOutputStream());

	}

3.页面展示层

只有一行代码,和img标签一样,直接引用方法传参,即可展示。 接下来是介绍第2步查询方法的写法,新手估计会出错

<img src="imageDisplay.htm?employeeCode=$employee.employeeCode" style="width:300px;height:350px;" class="img-thumbnail" alt="Responsive image"></a>

4.mapper层

public interface EmployeePhotoMapper {	
	public Map getById(@Param("employeeCode") String employeeCode);	
}

mabits配置


注意我划红线的,容易出错,接下来serverice就是直接引用mapper方法了,这里就不写了。ok,结束。

java读取图片插入blob,并取出 背景: 刚才一个同事问如何把图片插入数据库中,并取出,我想了想,写了个demo。那个同事提出的想法是,把文件的二进制流保存到String中,再转换成Blob插入数据库。对于这个想法,我觉得有些问题,所以并没有采取这个办法去做,但也没有验证过把String再转成流,再插入Blob是否可行,所以也不评价。那么这里,我是直接用输入流去接收,并插入blob中。我将源码和详解带上,与大家分享。详细内容: 这 阅读详情

相关推荐

数据仓库的复用性:设计和构建一个高复用性的数仓

数据仓库的复用性是指在数据仓库的设计和使用过程中,能够实现数据、模型、流程、工具等多个层面的重复利用,减少重复开发,提高开发效率,降低维护成本,并增强灵活性和可扩展性。

z1941563559的博客 1307

从数据库中读取Blob对象图片并显示

大致方法就是,从数据库中读出Blob的流来,把流写到页面中去:package com.XXXXXX.file;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.sql.Connection;impor

四火专栏 4928

(R,线性回归)R语言里的模型诊断图(Residuals vs Fitted,Normal QQ , Scale-Location ,Residuals Leverage)

线性回归,是概率统计学里最重要的统计方法,也是机器学习中一类非常重要的算法。线性模型简单理解非常容易,但是内涵是非常深奥的。尤其是线性回归模型中的Diagnostics plot的阅读与理解一直被认为是线性回归中的一个难点。 在任何线性模型中,能够直接“lm”(模型有意义),既要考虑各个参数的t-test所得出的p-value,也要考虑总体模型F-检验得出的p-value。在这之后,还要清楚一个...

qq_35837578的博客 7万+

Java, 取出blob对像

//取出blob为字符数组byte[] b = blob.getBytes(1, (int)blob.length()); //转化为字符串,编码需定.String s=new String(setBLOB2Bytes(blob),"GBK");

没事写写代码 2705

避开SiC MOSFET驱动设计的3个大坑:电流/电阻/电压配置全指南

本文深入解析SiC MOSFET驱动设计中的三大关键参数:驱动电流、栅极电阻和工作电压,揭示常见设计误区与优化方案。通过实际案例与数据对比,指导工程师避开第三代电力电子半导体应用中的典型陷阱,提升系统可靠性与效率。特别针对驱动电源配置、栅极电阻选型等核心问题提供可落地的解决方案。

weixin_29214199的博客 384

如何产生ATPG IR-drop分析波形文件(DFT)

摘要:本文介绍了生成VCD波形的流程与要求,主要用于后端进行IR-drop分析。生成过程分为ATPG shift和speed ATPG capture两部分,分别对应不同的输入要求、模式设置和仿真参数。

murphyrong的博客 872

【JAVA秒会技术之搞定BLOB数据类型】如何读取及展示数据库中BLOB类型的图片

如何读取及展示数据库中BLOB类型的图片 【前言】最近在做某一需求时,需要从Oracle数据库读取图片。本以为数据库存储的会是一个简单的url,前台可以直接展示,结果却发现是BLOB二进制类型,于是乎,百度/Google了关键字“二进制图片读取及展示”,发现有很多“抄来抄去”的文章或博客,但是文章的质量都很低,而且结构比较混乱,看完之后仍然是“不...

weixin_34150503的博客 1686

Lumerical-定向耦合器1

概述:本文章使用FDE求解器对定向耦合器进行了数值仿真,讨论了耦合器的间距相关性,耦合长度相关性,波长相关性。讨论了脊形波导和条形波导两种情况。

m0_61776728的博客 4614

利用数据库如何存入BLOB格式图片,并从数据库中取出BLBO格式图片显示出来

这两天需要在图片存储性能方面做一些

小鱼的专栏 1万+

PD虚拟机网络初始化失败的权限修复指南

本文针对Parallels Desktop虚拟机常见的“网络初始化失败”问题,提供了详细的权限修复指南。通过分析问题根源,指导用户安全备份并修改关键的`network.desktop.xml`和`dispatcher.desktop.xml`配置文件,以恢复PD虚拟机的网络连接。文章还包含了修复后的验证步骤及预防措施,帮助用户彻底解决并避免此类权限问题。

qqq44的博客 851

三菱FX5U气缸控制功能块(完整ST源代码+示例程序)

如果机器包含100个气缸,我们只需要修改数组的元素数量就可以了,效率非常的高。待续....博途PLC 面向对象系列之“双通气缸功能块“(SCL代码)_plc面向对象-优快云博客文章浏览阅读667次。本文介绍了博途PLC中面向对象编程的应用,重点讲解了双通气缸的功能块设计,包括双通电磁阀功能块、双通气缸的UDT数据类型以及SCL代码实现。同时,对比了双通与单通电磁阀的差异,并讨论了将单通气缸改造为双通气缸的方法,强调了双通气缸在安全性上的优势。

RXXW_Dor的博客 1028

java读取blob里的map对象_讲解Java从数据库中读取Blob对象图片并显示的方法

本文实例讲述了Java从数据库中读取Blob对象图片并显示的方法。分享给大家供大家参考。具体实现方法如下:第一种方法:大致方法就是,从数据库中读出Blob的流来,写到页面中去:复制代码 代码如下:Connection conn = DBManager.getConnection();String sql = "SELECT picture FROM teacher WHERE id=1";Prep...

weixin_31727937的博客 848

基于深度学习的停车位检测系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

传统的停车位检测方法主要依赖于人工或基于简单图像处理的技术,存在检测速度慢、准确率低、环境适应性差等问题。近年来,随着深度学习技术的快速发展,基于目标检测的停车位检测系统已成为研究的热点。本文基于YOLO(You Only Look Once)系列模型(包括YOLOv5、YOLOv6、YOLOv7和YOLOv8),开发了一个完整的停车位检测系统,支持实时检测、结果可视化以及UI交互界面。本文实现了一个基于深度学习的停车位检测系统,采用YOLO模型在实时视频流中进行高效检测。

YOLO 332

Java 图片从数据库读出,Java从数据库中读取Blob对象图片并显示的方法

本文实例讲述了Java从数据库中读取Blob对象图片并显示的方法。分享给大家供大家参考。具体实现方法如下:第一种方法:大致方法就是,从数据库中读出Blob的流来,写到页面中去:Connection conn = DBManager.getConnection();String sql = "SELECT picture FROM teacher WHERE id=1";PreparedStatem...

weixin_35011300的博客 1661

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

blob照片显示 oracle_Java从数据库中读取Blob对象图片并显示的方法

本文实例讲述了Java从数据库中读取Blob对象图片并显示的方法。分享给大家供大家参考。具体实现方法如下:第一种方法:大致方法就是,从数据库中读出Blob的流来,写到页面中去:Connection conn = DBManager.getConnection();String sql = "SELECT picture FROM teacher WHERE id=1";PreparedStatem...

weixin_39637920的博客 400

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

向数据库插入图片以及从数据库中读取图片并显示到jsp(数据库中存储的图片字段类型为Blob或image)...

以前都是将图片的存储路径存在数据库中,这次学习了将图片以blob类型或image类型存储在数据库中,并从数据库中获取图片显示到jsp中。 表名为:tmp(员工表) 字段:id (员工id,int类型),pic(员工照片,blob类型),descs(照片文件名,varchar类型) java bean类可以直接用Blob类型的属性接收pic字段,如Tmp类中有属性:private Blob ...

weixin_30793643的博客 467

jdbc mysql查询显示图片_jdbc取出MySQL中的图片(blob)

库名:shuyue 表名:imgpackage 测试;import java.sql.Blob;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import javax.swing.ImageIcon;public...

weixin_39752352的博客 283

jsp显示数据库图片 步骤

ps:这儿使用的数据库是oracle,以下是我实例中的大致代码块, 1,java 部分 public Blob openPic(String id){ String sql = "select..";//select语句略 try { ps = ConnectDb.getConnect().prepareStatement(sql, Res...

633

将数据库中的图片显示

部分代码 :  String sql="select * from image  where file_name='01'";    Connection conn=null;    BufferedInputStream inputImage=null;    try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManag

Jorry Zhao的专栏 867

mysql图片存储语句_MySQL存图片报错

请教@TestpublicvoidtestWriteBlob()throwsIOException{Studentss=newStudents(1,"韩菱纱","女",newDate(),"仙剑");//先获取照片文件File.separator为文件9分隔符Filef=newFile("d:"+File.separator+"xmm.jpg");//获得照片文件的输入...

weixin_29568143的博客 183

计算机一级 photoshow,在java应用程序中显示数据库的blob图像

在java应用程序中显示数据库的blob图像考试吧(Exam8.com) 2005-08-18 08:00:00 评论(0)条从数据库中读取blob到Blob对象. Blob blob = rs.getBlob(2);把blob传给Stream.用Stream参数创建Image对象显示Image对象.说明: 这只是例子, 没有考虑其他方面. 希望大家能对java连接数据库,和取对象有个具体的了解....

weixin_35873811的博客 234

JAVA读取Oracle中的blob图片字段并显示

JAVA读取Oracle中的blob图片字段并显示   近期,在给客户做一个Demo页面时,需要用JAVA读取Oracle中的blob图片字段并显示,在此过程中,遇到一些问题,例如:连接Oracle数据库读取blob字段数据,对图片byte数据进行缩放等;特此记录,给自己备忘,给大家参考。 整个流程分为四步,连接oracle数据库 -> 读取blob图片字段 -> 对图片进行缩放 ->把图片

nonumber1989的专栏 835
上一篇: java导出word文档
下一篇: java判断上传文件类型(笔记)
旋转的钢笔
博客等级 码龄11年 24粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值