存储过程_将图片存入数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、写一个存储过程,将图片存入数据库中

基本情况介绍:

数据库版本:oracle 11g

数据库用户:scott

数据库密码:tiger

JDK:1.6

要导入的图片:D:\picture\1.jpg

--创建存储图片的表

CREATE TABLE IMAGE_LOB (T_ID V ARCHAR2 (5) NOT NULL,T_IMAGE BLOB NOT NULL);

--创建存储图片的目录

CREATE OR REPLACE DIRECTORY IMAGES AS 'D:\picture';

存储过程如下:

CREATE OR REPLACE PROCEDURE IMG_INSERT (TID V ARCHAR2,FILENAME V ARCHAR2) AS

F_LOB BFILE;--文件类型

B_LOB BLOB;

BEGIN

iNSERT INTO IMAGE_LOB (T_ID, T_IMAGE)

V ALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;

--插入空的blob

F_LOB:= BFILENAME ('IMAGES', FILENAME);

--获取指定目录下的文件

DBMS_LOB.FILEOPEN(F_LOB, DBMS_LOB.FILE_READONL Y);

--以只读的方式打开文件

DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,DBMS_LOB.GETLENGTH (F_LOB));

--传递对象

DBMS_LOB.FILECLOSE (F_LOB);

--关闭原始文件

COMMIT;

END;

--将该图片存入表

call IMG_INSERT('1','1.gif'); 验证一下是否已存入:

二、从数据库读取图片并显示在页面上

项目名称为ShowPhoto

启动Tomcat,在浏览器输入:http://localhost:8080/ShowPhoto/,显示如下:

相关文档
最新文档