基于JSP实现图片的数据库存储与显示
引言
数据库应用程序特别是基于WEB的数据库应用程序常会涉及到图片信息的存储和显示通常我们使用的方法是将所要显示的图片存在特定的目录下在数据库中保存相应的图片的名称在JSP中建立相应的数据源利用数据库访问技术处理图片信息但是如果我们想动态的显示图片上述方法就不能满足需要了我们必须把图片存入数据库然后通过编程动态地显示我们需要的图片实际操作中可以利用JSP的编程模式来实现图片的数据库存储和显示
建立后台数据库
假定处理的是图片新闻那么我们可以建立相应的数据库及数据表对象我们要存取的数据表结构的SQL脚本如下所示
if exists (select * from dbosysobjects where id =
object_id(N[dbo][picturenews]) andOBJECTPROPERTY(id NIsUserTable) = )
drop table [dbo][picturenews]
GO
CREATE TABLE [dbo][picturenews] (
[id] [int] IDENTITY ( ) NOT NULL
[image] [image] NULL
[content] [varchar] () COLLATE Chinese_PRC_CI_AS NULL
[detail] [varchar] () COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
表picturenews中字段id作为标识每存储一行数据自动增加字段image
用于存储图片信息其数据类型为“image”
向数据库存储二进制图片
启动Dreamweaver MX后新建一个JSP文件其代码如下所示
<%@ page contentType="text/html;charset=gb"%>
<HTML>
<HEAD>
<TITLE>存储图片</TITLE>
</HEAD>
<body>
<! 下面的窗体将以Post方法将数据传递给testimagejsp文件 >
<FORM METHOD=POST ACTION="testimagejsp">
新 闻 标 题<INPUT TYPE="text" NAME="content"><BR>
新 闻 图 片<INPUT TYPE="file" NAME="image"><BR>
新闻内容<TEXTAREA name="txtmail" rows="" cols="" style="BORDERBOTTOM: # px solid; BORDERLEFT: # px solid; BORDERRIGHT: # px solid; BORDERTOP: # px solid; FONTSIZE: pt; HEIGHT: px; WIDTH: %" wrap="physical" ></TEXTAREA><br>