LOB


i want doubt in lob concept
i created one procedure in lob
that is sucess but i having run error came.
i sent following procedure and error also


create or replace procedure load_pic(p_file varchar2)
is
v_file bfile;
v_filename varchar2(27);
cursor emp_pic is select id from id_pic;
id_rec id_pic%rowtype;
begin
for id_rec in emp_pic loop
v_filename :=id_rec.id|| '.jpg';
v_file:=bfilename(p_file,v_filename);
dbms_lob.fileopen(v_file);
update id_pic set photo=v_file;
DBMS_OUTPUT.PUT_LINE('LOADED FILE: '||v_filename
|| ' SIZE: ' || DBMS_LOB.GETLENGTH(v_file));
dbms_lob.fileclose(v_file);
end loop;
end load_pic;

error

create table id_pic(id number,photo bfile);
create directory pic_dir as 'E:\pic';
SQL> execute load_pic('pic_dir');
BEGIN load_pic('pic_dir'); END;
*
ERROR at line 1:
ORA-22285: non-existent directory or file for FILEOPEN operation
ORA-06512: at "SYS.DBMS_LOB", line 504
ORA-06512: at "SCOTT.LOAD_PIC", line 11
ORA-06512: at line 1