Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Upload file in JSP with Oracle Database 10gR2

 
Angel Yeo
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How to upload file with oracle database 10gR2??
i can't find how to upload..
i've tried to create a procedure in oracle and execute in netbeans but the file save in directory and then from directory save to database.
it means the file save in 2 location, in directory and database..
does anybody know how to save file direct from the JSP file into database without save in directory?

this is the procedure..

create or replace PROCEDURE load_file (
p_id number,
p_photo_name in varchar2) IS

src_file BFILE;
dst_file BLOB;
lgh_file BINARY_INTEGER;

BEGIN
src_file := bfilename('DIR_TEMP', p_photo_name);

-- insert a NULL record to lock
INSERT INTO temp_photo
(id, photo_name, photo)
VALUES
(p_id , p_photo_name ,EMPTY_BLOB())
RETURNING photo INTO dst_file;

-- lock record
SELECT photo
INTO dst_file
FROM temp_photo
WHERE id = p_id
AND photo_name = p_photo_name
FOR UPDATE;

-- open the file
dbms_lob.fileopen(src_file, dbms_lob.file_readonly);

-- determine length
lgh_file := dbms_lob.getlength(src_file);

-- read the file
dbms_lob.loadfromfile(dst_file, src_file, lgh_file);

-- update the blob field
UPDATE temp_photo
SET photo = dst_file
WHERE id = p_id
AND photo_name = p_photo_name;

-- close file
dbms_lob.fileclose(src_file);
END load_file;
 
Fatih Keles
Ranch Hand
Posts: 182
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You have to deal with two things,
1) Upload file with jsp using multipart file data (see : jsp file upload sample )
2) Store a file into database using jdbc (see: java jdbc blob )

Your procedure is trying to load a file placed under temp directory of database server. First handle file upload then search for jdbc blob examples.

Regards,
Fatih.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic