基於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>