procedure DLBLOB(DocID IN NUMBER, Nom IN VARCHAR2) IS l_lob blob; l_amt NUMBER default 4096; l_off NUMBER default 1; l_raw raw(4096); v_rep T_ACTEURS.REPERTOIRE%TYPE; v_chaine varchar2(4000); v_chaine2 varchar2(4000); RemoteUser T_ACTEURS.LOGIN%Type; BEGIN RemoteUser := upper(owa_util.get_cgi_env('REMOTE_USER')) ; SELECT version_word INTO v_rep FROM T_ACTEURS WHERE LOGIN=RemoteUser; BEGIN SELECT document INTO l_lob FROM t_documents WHERE document_id = docId; BEGIN IF v_rep='W97' THEN owa_util.mime_header( 'application/msword'); elsif v_rep='W2002' then owa_util.mime_header( 'application/msword',false); htp.p ('Content-Disposition: attachment; filename='||Nom||''); owa_util.http_header_close; ELSE htp.p ('Content-Disposition: attachment; filename='||Nom||''); owa_util.http_header_close; htp.p(''); END IF; loop dbms_lob.read( l_lob, l_amt, l_off, l_raw ); htp.prn(utl_raw.cast_to_varchar2(l_raw)); l_off := l_off+l_amt; l_amt := 4096; END loop; DBMS_LOB.CLOSE (l_lob); exception when no_data_found then NULL; END; /* IF v_rep!='W97' then HTP.p ('
'); end if; */ exception when no_data_found then owa_util.status_line( 404, 'File Not Found' ); END; END DLBLOB;