文件浏览项目上载到BLOB列 [英] File browse Item uploading to BLOB column

查看:16
本文介绍了文件浏览项目上载到BLOB列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据库中的一个表有一个存储图像的BLOB列。因此,现在我正在设置此表的页面。我有一堆IG之类的工具来处理大部分数据,但我设置了一个模式页面来处理图像。

模式页面将ID(即PK)获取到一个项中,然后将表中当前的图像读入一个"display Image"项中。我有一个"文件浏览."要上载新图像的项目。

除非我无法将其保存。

我最初从显示图像项开始,只是具有基于:SQL语句返回的BLOB列的设置,因为我无法让源使用SQL查询(错误预期的字符,源是BLOB),我设法解决了这个问题,方法是在页面上放置自动行处理,然后将源设置为列。

所以现在它显示得很好,没有任何错误。

但是保存不执行任何操作。我尝试过通过让文件浏览引用该列并使用自动行处理来保存,但是什么都没有。没有弹出错误,但它什么也不做。

我已尝试保存到APEX_APPLICATION_TEMP_FILES,然后将PLSQL DA或PLSQL进程保存到

SELECT blob_content 
  FROM APEX_APPLICATION_TEMP_FILES
 WHERE name = :FILE_BROWSER_ITEM

并将其插入到表中,但它只会弹出"找不到数据"错误。

我已经翻遍了我的Google-fu找到的每一点英特尔,但都没有找到解决方案。

因此,如果您们有任何见解,我将不胜感激。

推荐答案

由于无人应答,我暂时离开了它,稍后再试。现在我终于成功了。

我设置了自动取行和自动行处理,但两者都禁用了,由于某种原因,必须启用自动行处理,以便您可以将显示图像和文件浏览的源设置为列。

然后,我将浏览文件设置为加载到APEX_APPLICATION_TEMP_FILES中。 并将进程设置为在页面提交时执行(但在自动行处理之后执行,即使其被禁用且不应该有问题)。执行以下代码的进程:

BEGIN
  UPDATE MY_TABLE
     SET MY_IMAGE = (SELECT blob_content
                   FROM apex_application_temp_files
                  WHERE name = :FILE_BROWSER_ITEM)
   WHERE id = :ID;
END;

我通过一个按钮执行页面提交,操作页面Submit和Database操作为SQL UPDATE操作。

我猜我做的和设置的相当多的事情都无关紧要,但我不敢删除它们,因为我怕弄坏狗屎。我在这里描述的最终对我有效,如果您偶然发现了这一点,您可以尝试一下,我希望它对您也有效,您可以尝试移除一些禁用的东西,看看它是否仍然有效。

这篇关于文件浏览项目上载到BLOB列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆