基於JSP實現圖片的數據庫存儲與顯示
1、引言
數據庫應用程序,特別是基於WEB的數據庫應用程序,常會涉及到圖片信息的存儲和顯示。通常我們使用的方法是將所要顯示的圖片存在特定的目錄下,在數據庫中保存相應的圖片的名稱,在JSP中建立相應的數據源,利用數據庫訪問技術處理圖片信息。但是,如果我們想動態的顯示圖片,上述方法就不能滿足需要了。我們必須把圖片存入數據庫,然後通過編程動態地顯示我們需要的圖片。實際操作中,可以利用JSP的編程模式來實現圖片的數據庫存儲和顯示。
2、 建立後台數據庫
假定處理的是圖片新聞,那麼我們可以建立相應的數據庫及數據表對象。我們要存取的數據表結構的SQL腳本如下所示:
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[picturenews]') andOBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[picturenews]
GO
CREATE TABLE [dbo].[picturenews] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[image] [image] NULL ,
[content] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[detail] [varchar] (5000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
表picturenews中,字段id作為標識,每存儲一行數據,自動增加1。字段image
用於存儲圖片信息,其數據類型為“image”。
3、向數據庫存儲二進制圖片
啟動Dreamweaver MX後,新建一個JSP文件。其代碼如下所示。
<%@ page contentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<TITLE>存儲圖片</TITLE>
</HEAD>
<body>
<!-- 下面的窗體將以Post方法,將數據傳遞給testimage.jsp文件 -->
<FORM METHOD=POST ACTION="testimage.jsp">
新 聞 標 題:<INPUT TYPE="text" NAME="content"><BR>
新 聞 圖 片:<INPUT TYPE="file" NAME="image"><BR>
新聞內容:<TEXTAREA name="txtmail" rows="15" cols="90" style="BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 9pt; HEIGHT: 200px; WIDTH: 100%" wrap="physical" ></TEXTAREA><br>