NAME VARCHAR(128) UNIQUE NOT NULL, MIME_TYPE
VARCHAR(128), DOC_SIZE NUMBER, DAD_CHARSET
VARCHAR(128), LAST_UPDATED DATE, CONTENT_TYPE
VARCHAR(128), CONTENT LONG RAW, BLOB_CONTENT BLOB
; 2.配置DAD的文档访问表
启动数据库和OHS后,创建空白的数据库访问描述符。在"数据库访问描述符"页面的"网关使用文档表"信息向与此数据库访问描述符关联的数据库上载/下载文档。缺省情况下所有文档都将以
BLOB 上载。通过在 Long Raw 字段中指定以逗号分隔的文件扩展名,可以覆盖此缺省设置。此字段的*值将使所有文档以 Long Raw
上载。"文档访问过程"指定用于访问文档的虚拟路径。"文档访问过程"字段指定网关处理文档请求所调用的过程。这里指定缺省的文档表为content_table。
CREATE OR REPLACE PROCEDURE "ZYFILEUP"."WRITE_INFOS" ( filetitle in
varchar2, up_file in owa.vc_arr, filesort in varchar2, author in
varchar2, abstract in varchar2, localsort in varchar2 ) is i
number:=1; begin htp.htmlopen; htp.headopen; htp.title('File
Uploaded'); htp.headclose; htp.bodyopen; htp.header(1, 'Upload
Status'); while true loop begin htp.prn('Uploaded '|| up_file(i)
||' successfully !'); htp.prn('<br>'); htp.prn('<a
href="/pls/upfile/downfile?upfilename='); htp.prn(utl_url.escape(up_file(i),true,'GBK')); htp.prn('"
target="_blank">Open this file !</a>'); htp.prn('<br>'); INSERT INTO "ZYFILEUP"."FILE_TABLE"
values(filetitle,up_file(i),filesort,author,sysdate(),abstract,localsort); commit; i:=i+1; exception when
no_data_found then exit; end; end loop; htp.line; htp.print('Uploaded successfully
!'); htp.bodyclose; htp.htmlclose; end; 查阅文档表后会发现,文件已经上载了,但文档表的上载时间有错误,与上载记录中的系统时间不符,这可能是该功能的一个BUG,如果谁有解决此问题的办法或软件补丁,请告诉我。
5.为上载文件提供页面浏览功能
CREATE OR REPLACE PROCEDURE "ZYFILEUP"."DOWNFILE" (upfilename in
varchar2) is mimetype varchar2(100); myblob
blob; begin select mime_type,blob_content into mimetype,myblob
from zyfileup.content_table where name =
upfilename; owa_util.mime_header(mimetype,
true); sys.wpg_docload.download_file(myblob); end;
这样可以通过Web浏览器根据上载文件的mime_type类型浏览文件了。