blob - Oracle Apex如何将图像存储在数据库表中
问题描述
在 apex 中,我需要将队友的图像保存在一个表格中,该表格稍后将用于 html 邮件格式的应用程序。我有列empployee_name 和employee_photo 的员工表。在 blob 的employee_photo 列中推送数据的最佳方法是什么?
我可以通过在那里上传图像来使用静态文件吗?如果是的话,我该如何将它们引用到我的专栏中?
我搜索了谷歌,但大多数方法/解释对于像我这样的新手来说太复杂了。
解决方案
那是一件有趣的事情,确实应该变得更简单一些。
从记忆中,我使用的方法是这样的:
将页面项目设置为静态应用程序文件(预设之一),然后运行一些 PLSQL 代码,从 id = :P1_ITEM 的静态应用程序文件中获取 blob,然后将其推送到您想要的实际表中。
如果您还没有像这样设置它,您可能希望将员工表作为带有表格的报告,以便您可以单击员工并获得一个漂亮的大表格,您可以在其中输入数据,并且设置您将添加图片的页面项目。
我希望你能找到自己的方法,如果你尝试了,但我的指示不够好,请告诉我,当我可以访问我的 APEX 服务器时,我会回复你。
编辑:更详细的说明:
为了上传一个人的图像,您可能需要一个带有表单页面(或更确切地说是页面)的报告,这些可以使用向导轻松创建,所以我不会解释它们。
然后在表单页面上,您将需要一个“文件浏览”类型的页面项目,在此示例中我们将其称为 P1_FILE_BROWSE。我们将此项设置为存储类型“Table APEX_APPLICATION_TEMP_FILES”。现在这意味着当您将某些内容上传到此项目并提交页面时,它将存储在此表中的 ID 下,该 ID 存储在 P1_FILE_BROWSE 中。
所以现在我们将在提交后创建一个流程,看起来像这样:
DECLARE
a_filename VARCHAR2(400);
a_mime_type VARCHAR2(255);
a_blob_content BLOB;
BEGIN
select FILENAME, MIME_TYPE, BLOB_CONTENT
into a_filename, a_mime_type, a_blob_content
from apex_application_temp_files
where name = :P1_FILE_BROWSE;
UPDATE EMPLOYEES
SET filename = a_filename,
mime_type = a_mime_type,
blob_content = a_blob_content
WHERE id_user = :P1_ID_USER
END;
如果我们从头开始,首先我们声明图像的三个变量,它的名称,它的 mime 类型(这个过程对于 word 文档或视频什么的都是一样的,mime 类型告诉我们这个文件是什么),及其 blob 内容,即实际图像。
然后我们从最初存储图像的 APEX_APPLICATION_TEMP_FILES 中填充这些变量,然后将这些变量放入员工表中。
与 APEX 的所有事情一样,还有更多可能,并且有多种方法可以做到这一点,这恰好是我习惯的一种。所以玩这个让它工作,祝你好运。
推荐阅读
- java - 为什么要注入与注入接口相反的具体类
- java - 如何将屏幕截图附加到由 azure devops 运行的 selenium 测试(maven、java 和 cucumber bdd)的测试报告中
- kotlin - MockInterceptor 以错误的格式返回内容
- swiftui - 在 tabview 中居中文本元素
- dropdown - 如何将数据库中的值添加到下拉列表?这是我的代码,其中的值不是取自 API
- javascript - 动态插入引导按钮
- javascript - 在 React Native 中浏览屏幕时显示活动指示器
- sql - 如何在 SQL Teradata 中计算具有舍入值的行?
- python - 如何在不等待用户回复的情况下创建一系列问题 discord.py
- dns - Certbot 错误:检查此域的 DNS 记录是否存在