如何在 Oracle Apex 中创建包含文件的列 table
How to create a column table that holds a file in Oracle Apex
我在 Oracle Apex 中创建了一个带有表单的报告,对于此报告,我使用的是 table,它有 5 列,其中 1 列是文件名 varchar2(500),它支持保存一个文件。在表单中我有一个上传文件的页面项目,但是当我在表单中创建新记录时,添加的记录没有上传文件。
关于如何正确实现这个过程有什么想法吗?我确定我的 table 专栏有问题,但我不知道如何解决它。
如果您提到的“文件”是例如JPG 图片、PDF 文件和类似文件,那么您应该将该列创建为 BLOB.
您的文件本身位于数据类型为 BLOB 的列中,因为它是二进制数据,但您需要更多列。查看名为“示例文件上传和下载”的示例应用程序,它有一个完整的示例以及如何执行此操作的说明,周围也有很多博客解释了详细信息。
正如其他人所指出的,您需要创建一个 table,其中包含将保存文件的 BLOB 列。
不过,为了达到目的,直接上传到 table 很复杂,所以通常的标准是将文件上传项设置为默认上传到 apex_application_files table 对于这样的事情。然后运行的第二个进程从 :Pxx_FILE_UPLOAD_ITEM 获取名称并将其用于 apex_application_files table 上的 select 然后插入 selected blob进入你的实际 table.
因为apex_application_files你实际上不能真正从数据库访问,只能通过顶点访问(你可能可以,但它会很复杂,我还没有)。
我在 Oracle Apex 中创建了一个带有表单的报告,对于此报告,我使用的是 table,它有 5 列,其中 1 列是文件名 varchar2(500),它支持保存一个文件。在表单中我有一个上传文件的页面项目,但是当我在表单中创建新记录时,添加的记录没有上传文件。
关于如何正确实现这个过程有什么想法吗?我确定我的 table 专栏有问题,但我不知道如何解决它。
如果您提到的“文件”是例如JPG 图片、PDF 文件和类似文件,那么您应该将该列创建为 BLOB.
您的文件本身位于数据类型为 BLOB 的列中,因为它是二进制数据,但您需要更多列。查看名为“示例文件上传和下载”的示例应用程序,它有一个完整的示例以及如何执行此操作的说明,周围也有很多博客解释了详细信息。
正如其他人所指出的,您需要创建一个 table,其中包含将保存文件的 BLOB 列。
不过,为了达到目的,直接上传到 table 很复杂,所以通常的标准是将文件上传项设置为默认上传到 apex_application_files table 对于这样的事情。然后运行的第二个进程从 :Pxx_FILE_UPLOAD_ITEM 获取名称并将其用于 apex_application_files table 上的 select 然后插入 selected blob进入你的实际 table.
因为apex_application_files你实际上不能真正从数据库访问,只能通过顶点访问(你可能可以,但它会很复杂,我还没有)。