imageinfo.sql
以下方法为输出到磁盘上:
CREATE TABLE [dbo].[emp] (
[name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[pay] [money] NULL ,
[img] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
test.html[name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[pay] [money] NULL ,
[img] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
<HTML>
<HEAD>
<TITLE>Image File </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<h1>图片上传</h1>
<FORM METHOD=POST ACTION="testimage.jsp">
<INPUT TYPE="text" NAME="content"><BR>
<INPUT TYPE="file" NAME="image"><BR>
<INPUT TYPE="submit"></FORM>
<BODY>
</BODY>
</HTML>
testimage.jsp<HEAD>
<TITLE>Image File </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<h1>图片上传</h1>
<FORM METHOD=POST ACTION="testimage.jsp">
<INPUT TYPE="text" NAME="content"><BR>
<INPUT TYPE="file" NAME="image"><BR>
<INPUT TYPE="submit"></FORM>
<BODY>
</BODY>
</HTML>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=imageinfo";
Connection conn = DriverManager.getConnection(url,"sa","sa");
System.out.println("diver is ok");
String content=request.getParameter("content");
String filename=request.getParameter("image");
FileInputStream img=new FileInputStream(filename);
String sql="insert into emp(name,pay,img) values('lyd',12,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setBinaryStream(1,img,img.available());
pstmt.execute();
out.println("Success,You Have Insert an Image Successfully");
pstmt.close();
conn.close();
img.close();
%>
show.jsp<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=imageinfo";
Connection conn = DriverManager.getConnection(url,"sa","sa");
System.out.println("diver is ok");
String content=request.getParameter("content");
String filename=request.getParameter("image");
FileInputStream img=new FileInputStream(filename);
String sql="insert into emp(name,pay,img) values('lyd',12,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setBinaryStream(1,img,img.available());
pstmt.execute();
out.println("Success,You Have Insert an Image Successfully");
pstmt.close();
conn.close();
img.close();
%>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=imageinfo";
Connection conn = DriverManager.getConnection(url,"sa","sa");
System.out.println("diver is ok");
String sql = "select img from emp ";
Statement stmt=null;
ResultSet rs=null;
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException e)
{
out.println("db connection error!");
}
try{
while(rs.next()){
//rs.setContentType("image/jpeg");
ServletOutputStream sout = response.getOutputStream();
InputStream in = rs.getBinaryStream("img");
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;)
{
sout.write(b);
in.read(b);
}
sout.flush();
sout.close();
in.close();
}
}
catch(Exception e){System.out.println(e);}
finally{
rs.close();
stmt.close();
conn.close();
}
%>
</body>
</html>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=imageinfo";
Connection conn = DriverManager.getConnection(url,"sa","sa");
System.out.println("diver is ok");
String sql = "select img from emp ";
Statement stmt=null;
ResultSet rs=null;
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException e)
{
out.println("db connection error!");
}
try{
while(rs.next()){
//rs.setContentType("image/jpeg");
ServletOutputStream sout = response.getOutputStream();
InputStream in = rs.getBinaryStream("img");
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;)
{
sout.write(b);
in.read(b);
}
sout.flush();
sout.close();
in.close();
}
}
catch(Exception e){System.out.println(e);}
finally{
rs.close();
stmt.close();
conn.close();
}
%>
</body>
</html>
以下方法为输出到磁盘上:
package org.hank.test;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ImageTest {
/**
* @param args
*/
public static void main(String[] args) {
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=imageinfo";
String user = "sa";
String password = "sa";
InputStream in = null;
try
{
FileOutputStream fos=new FileOutputStream("c:\\123.jpg");
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String sql = "select img from emp";
ResultSet rs = stmt.executeQuery(sql);
System.out.println(rs.toString());
if (rs.next())
{
in = rs.getBinaryStream("img");
int len;
byte[] buf = new byte[1024];
while ( ( len = in.read(buf, 0, 1024) ) != -1 )
{
fos.write(buf, 0, len);
}
}
}
catch (Exception exc){}
}
}
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ImageTest {
/**
* @param args
*/
public static void main(String[] args) {
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=imageinfo";
String user = "sa";
String password = "sa";
InputStream in = null;
try
{
FileOutputStream fos=new FileOutputStream("c:\\123.jpg");
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
String sql = "select img from emp";
ResultSet rs = stmt.executeQuery(sql);
System.out.println(rs.toString());
if (rs.next())
{
in = rs.getBinaryStream("img");
int len;
byte[] buf = new byte[1024];
while ( ( len = in.read(buf, 0, 1024) ) != -1 )
{
fos.write(buf, 0, len);
}
}
}
catch (Exception exc){}
}
}
发表评论
-
db2, oracle和sqlserver取前几行的语法
2010-10-18 11:58 963db2: select * from tab f ... -
项目总结(Ajax+Struts+Spring+Hiberante+SQLServer2000) 第一部分 (转载)
2008-03-29 16:49 679总算将一个项目勉强上线,也是第一次我独立完成的这么多任务,框架 ... -
实例学习Spring和Hibernate的一点点体会 (转载)
2008-03-29 17:36 791昨天用Spring写DAO,有朋友说比较Hibernate还是 ... -
jsp+xsl查询数据库
2008-04-06 19:26 1036往往JSP通常用来动态的生成HTML文件,来 ... -
hibernate3.0中文查询问题解决方法
2008-04-07 13:08 741在applicationContext.xml中加入如下代码: ... -
简单的JSTL应用(入门)
2008-04-07 19:51 1018需要的包及TLD文件: 首先需要将用到的jar包放入WEB-I ... -
EL表达式语言
2008-04-09 00:30 696引用:http://blog.163.com/s_zhchlu ... -
使用COOKIE登录验证(转载)
2008-04-21 20:11 1519附加功能:登录成功后 ... -
JavaMail
2008-04-30 13:19 654package org.hank.mail;import ... -
用"window.showModalDialog()"实现DIV模式弹出窗口 (转)
2008-05-04 09:20 17801、test.html 测试页 <html> ... -
java 生成图片缩略图
2008-05-08 13:26 7175方法一: import javax.imageio.Image ... -
一个不错的弹出窗口的js效果(值的收藏)
2008-06-02 19:00 1120<script type="text/jav ... -
<c:forEach>&条件标签使用
2008-06-06 09:57 7104<c:forEach>标签的使 ... -
div 缓慢下拉效果
2008-06-10 18:05 1523<!DOCTYPE html PUBLIC " ... -
弹出窗口传值
2008-06-13 09:07 915子窗口中内容: function change(obj){ ... -
Action之间传值
2008-06-13 09:13 868return new ActionForward(" ... -
数据库连接池简介
2008-06-15 14:30 749数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应 ... -
Spring的事务管理
2008-06-15 14:32 437Spring提供了一致的事务管理抽象。这个抽象是Sprin ... -
form产生的空行的解决
2008-06-16 16:32 688利用css属性,将form的内部上下左右的填充距离设置为0就好 ... -
实现Web程序的自动登录
2008-06-16 17:13 799...
相关推荐
当涉及到图像等非结构化数据时,一种常见的方法是将图片以二进制形式存入数据库。这种方法被称为“二进制大对象”(Binary Large Object,简称BLOB)。下面将详细阐述如何实现图片以二进制形式存入数据库,并从...
在这个特定的案例中,"Delphi将图片以二进制方式存储在数据库BLOB字段中"是一个常见的实践,用于高效、安全地保存图片数据。BLOB(Binary Large Object)字段是数据库系统中用来存储大量二进制数据的类型,非常适合...
在上面的代码中,我们首先使用MemoryStream将二进制数组转换成流,然后使用Image.FromStream将流转换成图片,并将其显示在PictureBox控件中。 三、图片保存到数据库中 在C#中,可以使用ADO.NET将图片保存到数据库...
"使用二进制存取用户头像"这个主题涉及到如何将图像数据以二进制形式存储并从数据库中检索,以提高数据传输速度和节省存储空间。下面将详细介绍这个过程及其相关知识点。 一、二进制数据存储 1. 图像文件格式:...
在ASP.NET平台中,开发人员经常需要处理二进制数据,特别是当涉及到图像和其他多媒体文件时。本主题将深入探讨如何使用C#语言在VS2008中进行二进制图片的存取操作,这对于构建动态网站和Web应用程序至关重要。 一、...
例如,对于图像数据,我们可以先读取文件到内存,然后将其转换为二进制流,最后通过ADO的`Command`对象或`Recordset`对象的`Fields`集合中的`Value`属性将二进制流写入到BLOB字段。 **3. ADO操作BLOB的步骤** - **...
二进制文件的存取过程则是读取文件的二进制比特流,然后按照应用程序指定的解码方式来解释这个流,最后将解释结果显示出来。 在编程方面,文本文件和二进制文件的处理方式相同,即按照既定的编码方式来解释和译码。...
二进制文件是由计算机可以直接理解的0和1组成的,通常用于存储图像、音频、视频或程序等数据。与文本文件不同,它们不遵循特定的字符编码,而是按照特定格式存储数据。 在描述的场景中,我们需要存储一个波形二进制...
在编程领域,尤其是在使用.NET框架的C#语言中,二进制存取...综上所述,二进制存取图片是编程中一个实用的技能,尤其在处理大量图像数据或需要高效读写时。理解和掌握这个概念对于开发涉及图像处理的应用程序至关重要。
通常,这涉及到创建一个文件流对象,将二进制数据写入该流,然后保存为文件。 ```vb Dim binaryData As Variant '二进制数据变量 Dim fso As Object '文件系统对象 Set fso = CreateObject("Scripting....
ADO 实现大型二进制数据在数据库中的存取 本文将详细介绍 ADO 在数据库中的大型二进制数据存取实现,包括 ADO 技术的概述、Recordset 对象、Stream 对象、Field 对象等关键对象的应用,以及大型二进制数据在数据库...
1. **Oracle存取图片或二进制数据** Oracle数据库使用BLOB(Binary Large Object)数据类型来存储图片或任何其他二进制数据。BLOB类型可以存储最大4GB的数据,足以容纳大多数图像文件。`OracleUploader.java`可能是...
文件中的标题提到了“基于分布式FTP的二进制大对象存取算法”,这暗示了文件内容可能与分布式文件传输协议(FTP)、二进制大对象(BLOB)存储以及相应的存取算法有关。BLOB通常指那些非结构化的、在互联网服务中常见的...
### 二进制图片存取读入的核心技术与实践 #### 一、二进制图片存取概述 在计算机编程领域,尤其是Web开发或者桌面应用开发中,经常会遇到需要处理图像的情况。对于图像数据的存储,最常见的做法是将其转换为二进制...
这个"二进制存取图片工程实例代码"是一个基于VS2008的项目,旨在教授如何利用C#来读取、写入和操作二进制形式的图片文件。下面将详细解释相关知识点。 1. **C#语言基础**: C#是微软公司推出的一种面向对象的编程...
二进制文件通常用于存储程序的中间结果、图像、音频、视频等非文本数据,或者需要高效存取的数据结构。 在处理二进制文件时,需要使用特定的程序或库函数,如C语言的fread()和fwrite(),来读写文件中的数据。而文本...
### PB存取超过32k的二进制文件的实例详解 #### 一、引言 在PowerBuilder(简称PB)开发中,处理大文件尤其是超过32KB大小的二进制文件时,经常会遇到一些挑战。这是因为PB默认对二进制数据的处理有一定的限制。...
ASP.NET 存取二进制图片是Web开发中常见的需求,尤其在处理用户上传的图片或者存储数据库中的图像数据时。在这个场景下,我们需要将图片转换为二进制数据存储到数据库(例如SQL Server 2008),然后在前端页面上以...