<%@page import="java.io.PrintWriter"%>
<%@page import="java.io.OutputStream"%>
<%@page import="java.io.InputStream"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="net.sysmain.common.ConnectionManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
response.reset();
String guid = request.getParameter("guid");
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
InputStream is = null;
OutputStream os = null;
try{
conn = ConnectionManager.getInstance().getConnection();
ps = conn.prepareStatement("select img from user where guid=?");
ps.setString(1, guid);
rs = ps.executeQuery();
if(rs.next()){
is = rs.getBinaryStream(1);
}
response.setContentType("image/jpeg");
os = response.getOutputStream();
int num;
byte buf[] = new byte[1024];
while( (num=is.read(buf))!=-1 ){
os.write(buf, 0, num);
}
os.flush();
is.close();
os.close();
}catch(Exception e){
e.printStackTrace();
}finally{
ConnectionManager.close(conn,ps,rs);
}
%>
页面显示代码:
<img style="width:73px" src="<%=request.getContextPath() %>/showImg.jsp?guid=<%=guid %>" />
分享到:
相关推荐
在这个场景中,我们关注的是如何使用Java Server Pages(JSP)来操作MySQL数据库中的Blob(Binary Large Object)字段,这是一个用于存储大容量二进制数据如图片、文档或音频文件的特殊字段类型。以下是关于这个主题...
总结起来,批量下载MySQL数据库中Blob类型的图片至本地,需要理解Blob数据类型,熟悉Java的JDBC操作,以及掌握文件I/O操作。通过以上步骤,你可以有效地完成这一任务,确保图片数据的完整性和可访问性。在实际项目中...
JSP(JavaServer Pages)是一种用于创建动态网页的技术,而Oracle数据库是广泛应用的关系型数据库管理系统,支持多种数据类型,包括BLOB(Binary Large Object),用于存储大块二进制数据,如图片、文档或视频。...
使用`FileInputStream`读取图片文件,将其转化为字节数组,这一步是将图片内容转换为可存储的数据格式。 2. 数据库存储:图片数据可以存储在关系型数据库(如MySQL)的BLOB(Binary Large Object)类型字段中。使用...
- 准备一些图片文件,并将其插入到数据库表中。这可以通过SQL语句或者使用Java程序实现。 #### 三、核心代码实现 接下来,我们将详细介绍如何编写Java程序来读取Oracle数据库中的图片数据。 ```java package app....
JDBC(Java Database Connectivity)是Java连接数据库的标准API,使用PreparedStatement对象的`setBlob()`方法,可以将文件流写入到BLOB字段中。 当用户请求下载文件时,JSP页面会根据数据库中的文件ID查询对应的...
在这个场景中,我们讨论的是如何利用JSP与数据库进行连接,以便动态地从数据库中获取图片并显示在网页上。这个过程涉及多个关键知识点,包括数据库连接、SQL查询、JSP内置对象以及图片数据的处理。 首先,我们需要...
在Servlet中,使用JDBC插入图片数据: ```java Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); PreparedStatement pstmt = conn.prepareStatement("INSERT INTO Images (imageData, ...
1. **表单设计**:在JSP页面中创建一个表单,包含一个文件输入字段让用户选择要上传的图片文件,以及提交按钮触发上传操作。 2. **文件上传处理**:当用户提交表单时,JSP页面需要捕获文件数据。可以使用Apache ...
在本文中,我们将探讨如何使用JSP(JavaServer Pages)来实现图片上传并存储到数据库的功能。首先,我们需要理解这个过程涉及的关键步骤:前端用户界面、后端处理以及数据库交互。 1. **前端用户界面**: - 用户...
综合以上信息,这个示例项目旨在教授如何使用JSP和Java技术实现文件上传,并将上传的文件以BLOB形式存储到数据库中。它涵盖了用户接口设计、文件处理、数据库操作等多个方面,是学习和实践Web开发的好材料。开发者...
综上所述,"jsp图片上传"项目涵盖了JSP基础、数据库操作、文件上传下载、数据库设计等多个方面的知识,是学习Web开发实战的好案例。在实际操作中,还需要关注性能优化、错误处理、用户体验等多方面的问题,以确保...
- 为了将照片存储为二进制数据,需将图片文件读取为`InputStream`。在示例代码中,使用`FileInputStream`打开文件,并将其作为参数传递给`PreparedStatement`的`setBinaryStream()`方法,此方法用于设置二进制数据...
- 图片存储:可能涉及到将图片文件上传到服务器的特定目录,或者将其数据存储到数据库的BLOB类型字段中。 - 图片展示:可以使用JSP中的标签,通过URL获取图片,或者使用Servlet动态生成图片内容。 - 图片操作:如...
这涉及到多个技术点,包括使用`commons-fileupload`组件处理文件上传、通过JDBC与MySQL数据库交互存储图片数据、以及利用JSP展示图片等。 #### 图片上传的关键步骤 1. **环境配置**: - 安装MySQL:用于存储图片...
3. **图片插入**:在Java代码中,可以使用`java.io`包中的`FileInputStream`和`BufferedImage`读取图片文件,然后将其转换为字节数组。接着,使用MySQL的BLOB类型存储这些字节。例如: ```java PreparedStatement ...
在JSP(JavaServer Pages)中,图像数据的读取是一项常见的任务,特别是在构建动态网页时,例如用户上传图片、显示数据库存储的图片等场景。本文将深入探讨如何在JSP中有效地处理图像数据。 首先,理解JSP的基础是...
当需要从数据库中检索`BLOB`数据时,可以使用`ResultSet`获取`Blob`对象,然后将其转换为字节数组,最后保存或显示到客户端。 通过以上步骤,你就可以在JSP页面上实现`BLOB`类型数据的上传,并将其存储到MySQL...
第二个JSP文件可能是用户界面,例如`ViewImages.jsp`,用于列出所有图片并提供链接以显示图片: ```jsp *" %> Connection conn = ...; // 连接数据库 Statement stmt = conn.createStatement(); ResultSet rs =...