Oracle Apex - 读取上传的 txt 文件的内容

Oracle Apex - Read contents of an uploaded txt file

我正在尝试读取使用页面项目文件浏览器上传的文本文件的内容,但我不知道如何获取文件内容。

我不需要将它推入 table 或其他任何东西,例如,我只想要在文本区域中对它进行字符串表示。或者存储到一个变量中,以便我可以处理。

如果有任何含糊之处,我们深表歉意。我已经尝试了几种方法,但不确定是否可以使用 WWV_FLOW_FILE 以某种方式获取内容?

我看到的唯一解决方案是将向导区域与数据 mapping/verification 面包屑一起使用,这不是我需要的。

您可以在 WWV_FLOW_FILE 中找到以 BLOB 形式上传的文件。如果你只是想显示它,比如说一个名为 P1_some_text_field 的文本字段,你可以在你上传的页面上简单地添加一个这样的过程:

BEGIN
  SELECT utl_raw.cast_to_varchar2(dbms_lob.substr(blob_content))
  INTO :P1_some_text_field
  FROM wwv_flow_files
  WHERE created_on =
    (SELECT MAX(created_on) FROM wwv_flow_files WHERE CREATED_BY = :APP_USER
    );
END;

请注意,这将最多检索文件的前 32767 个字符。

当我上传文件到WWV_FLOW_FILES时,我然后使用pl/sql语句获取用户上传的最后一个文件的ID,并通过另一个pl/sql发送ID在服务器上启动 powershell 脚本以下载文件的语句。然后在服务器上处理该文件。