我想改变APEX上传文件的方式.我不希望文件作为BLOB进入数据库表.相反,我希望我们能够在运行apex的机器上找到OS目录.可能吗?如果是这样,我需要从什么开始?
文件浏览项将始终上载到BLOB列.如果不在指定的表中,它将转到wwv_flow_files(apex_application_files),这是备用选项.这应该不是一个破坏者,因为你可以在完成处理后轻松清理桌面BLOB.
创建一个将BLOB文件写入的过程.这里有一个例子(dba-oracle.com).简而言之,它将做的是:
在文件系统上打开一个文件(需要一个目录,一个目录由你
之前创建的目录对象的名称引用!)
-- define output directory
l_output := utl_file.fopen('DIR_TEMP', 'filename','wb', 32760);
Run Code Online (Sandbox Code Playgroud)
在此示例代码中,创建的目录是DIR_TEMP对象
BLOB它足够小,可以一次写入)wwv_flow_filesBLOBas IN
参数.示例顶点过程:
DECLARE
v_upl_blob BLOB;
BEGIN
SELECT blob_content
INTO v_upl_blob
FROM wwv_flow_files
WHERE name = :Px_FILE_BROWSE_ITEM;
my_file_write_procedure(v_upl_blob);
DELETE FROM wwv_flow_files
WHERE name = :Px_FILE_BROWSE_ITEM;
END;
Run Code Online (Sandbox Code Playgroud)
对于更多文档,当然总是google,这里使用的所有对象的oracle文档,甚至是oracle论坛(例如OTN apex论坛或OTN PL/SQL论坛)
| 归档时间: |
|
| 查看次数: |
13950 次 |
| 最近记录: |