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 875db2: select * from tab f ... -
项目总结(Ajax+Struts+Spring+Hiberante+SQLServer2000) 第一部分 (转载)
2008-03-29 16:49 644总算将一个项目勉强上线,也是第一次我独立完成的这么多任务,框架 ... -
实例学习Spring和Hibernate的一点点体会 (转载)
2008-03-29 17:36 748昨天用Spring写DAO,有朋友说比较Hibernate还是 ... -
jsp+xsl查询数据库
2008-04-06 19:26 985往往JSP通常用来动态的生成HTML文件,来 ... -
hibernate3.0中文查询问题解决方法
2008-04-07 13:08 707在applicationContext.xml中加入如下代码: ... -
简单的JSTL应用(入门)
2008-04-07 19:51 973需要的包及TLD文件: 首先需要将用到的jar包放入WEB-I ... -
EL表达式语言
2008-04-09 00:30 652引用:http://blog.163.com/s_zhchlu ... -
使用COOKIE登录验证(转载)
2008-04-21 20:11 1486附加功能:登录成功后 ... -
JavaMail
2008-04-30 13:19 610package org.hank.mail;import ... -
用"window.showModalDialog()"实现DIV模式弹出窗口 (转)
2008-05-04 09:20 17351、test.html 测试页 <html> ... -
java 生成图片缩略图
2008-05-08 13:26 7139方法一: import javax.imageio.Image ... -
一个不错的弹出窗口的js效果(值的收藏)
2008-06-02 19:00 1076<script type="text/jav ... -
<c:forEach>&条件标签使用
2008-06-06 09:57 7059<c:forEach>标签的使 ... -
div 缓慢下拉效果
2008-06-10 18:05 1489<!DOCTYPE html PUBLIC " ... -
弹出窗口传值
2008-06-13 09:07 868子窗口中内容: function change(obj){ ... -
Action之间传值
2008-06-13 09:13 826return new ActionForward(" ... -
数据库连接池简介
2008-06-15 14:30 706数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应 ... -
Spring的事务管理
2008-06-15 14:32 388Spring提供了一致的事务管理抽象。这个抽象是Sprin ... -
form产生的空行的解决
2008-06-16 16:32 634利用css属性,将form的内部上下左右的填充距离设置为0就好 ... -
实现Web程序的自动登录
2008-06-16 17:13 746...
相关推荐
图片以二进制形式存入数据库,并从数据库取出显示
VC 使用ADO技术存取BLOB二进制大数据,将大对象以二进制方式存储在数据库中,存取的方式与普通数据有所区别,里面包括有图像的存取,带个实例的工程比较完整。
Delphi将图片以二进制方式存储在数据库BLOB字段中,将使用TStream读写数据,利用BLOB字段进行图像数据的存取,Blob存变量,具体程序请参考useBlob目录中的代码。
使用二进制存取用户头像
在数据库应用项目开发中,经常会使用一些二进制的图像数据,存储和读取显示图像数据主要采用的是路径链接发和内存流法。路径链接法是将图像文件保存在固定的路径下,数据库中只存储图像文件的路径和名称,此方法...
内容索引:VC/C++源码,数据库应用,二进制,BLOB 在vc++开发过程中,有时候需要将数据以二进制方式存储在数据库中,本代码就是实现这一过程的示例,VC++使用ADO实现BLOB二进制大对象数据的存取,其存取的方式与普通...
数据库在实际的开发过程中常常需要存储较大的二进制数据对象,如图像、音频文件、视频文件或其他二进制数据,这些数据称之为二进制大对象BLOB(Binary Large Object),其存取方式与普通数据有所区别。在数据库的表中...
本文介绍的用VB接口存取MIS SQL Server中大二进制数据的方法,不但适用于图像文件,同样适用于其它类型的文件。该方法应用于医院管理系统的图像存取中,在存取速度、对系统的性能影响等方面都取了满意的效果。
本文介绍的用VB接口存取MIS SQL Server中大二进制数据的方法,不但适用于图像文件,同样适用于其它类型的文件。该方法应用于医院管理系统的图像存取中,在存取速度、对系统的性能影响等方面都取了满意的效果。
实例532 将个人头像以二进制流形式存储到 数据库中 807 实例533 读取并显示数据库中以二进制形式 存储的头像 809 实例534 解决同名文件覆盖问题实现上传图片 统一命名 810 实例535 开源节流——使用缓存区输出图像 ...
VC操作ACCESS数据库,存取二进制流图片。VS2017环境下编译通过,亲自编写,测试可用。包含六个功能:新建数据库,打开数据库,存储Pixel,读取Pixel,存储Image,读取Image。
为有效地处理电力调度信息系统中图像数据存取问题,提出将图像转换为二进制流存储于数据库中,将图像提交到Web服务器的文件系统中,以及使用XML文档存储图像3种方案,并分析其各自的优缺点及适用场合。3种方案已经...
对备注二进制信息的存储可以采用以下三种方式; 方法一:文件保存在固定的路径下,数据库中存取文件路径和名称 方法二:数据库中用blob类型或者varbinary类型字段存储备注文件 方法三:在本地用Power...
分别简述存储容量、字节、字、字长的概念 答:存储器容量:指的是存储设备可容纳二进制信息的最大字节数,是衡量 计算机存储二进制信息量大小的一个重要指标。 字节(Byte):是计算机信息技术用于计量存储容量和传输...
98 <br>0153 如何自定义数字小数点左边分组位数 98 <br>0154 格式化输入数据为货币格式 99 <br>0155 如何计算两个整数的乘积 99 <br>0156 如何将二进制数转换为十进制数 100 <br>0157 如何...
│ │ 9.5.1 二进制文件存取示例(VB&VBA).vbs │ │ a.txt │ │ Schema.ini │ │ │ └─其他 │ bcp-数据导入导出(全).sql │ bcp-数据导入导出-二进制文件.sql │ bcp-数据导出为文件.sql │ bcp表数据存为XML....
A.IP地址从32位的二进制地址缩减为8位的二进制地址 B.IP协议再也不需要了 C.我们只需要简单的记住一个网站域名,而不必记住IP地址 D.IP地址再也不需要了 答案:C 8.以下____不是常用的声音文件格式. A.JPEG文件 B....
实例72 读写大块资料(二进制)文件 实例73 文件变更通知 第8章 数据库 实例74 格式化数字 实例75 中文大写数字 实例76 存取图像字段 实例77 ADO控制Access数据库 实例78 SQL语句...
A.8位二进制数 B.1位二进制数 C.1位十六进制数 D.2位八进制数 下列4中软件中属于系统软件的是__c____。 A.PowerPoint B.Word C.UNIX D.Excel 计算机内部采用二进制数进行运算、存储和控制,有时还会用到十...