如何在经典报表中制作以Web服务作为源的下载BLOB列(使用SQL)

问题描述 投票:0回答:2

[我正在使用WITH_PLSQL调用中的apex_web_service.make_rest_request作为Classic Report源来使用Oracle Apex(v.19.2)中自己的文件REST服务。

我的POST和GET REST调用工作正常,但是我无法在我的经典报表中为'Download BLOB'列定义参数,以便用户可以下载文件。

我目前不知所措...

(使用消耗大量其他ORDS REST服务的所有其他进程都没有问题,只是文件下载才是问题。)在此先感谢!

oracle rest oracle-apex webrequest
2个回答
0
投票

经典(或交互式)报告中的声明性BLOB下载不适用于Web Source Modules上的报告。原因是BLOB首先需要下载到APEX引擎,再从那里下载到您的浏览器-效率很低。

[在大多数情况下,有单独的REST端点可下载实际文件内容。如果可以从浏览器访问这些端点,则只需构建一个链接列,即可在其中构建指向“文件下载”按钮的链接。当最终用户单击该链接时,浏览器将绕过APEX下载文件。

如果不起作用,您需要将文件下载到APEX,然后从那里下载到浏览器,则需要使用自定义PL / SQL代码。本文很好地说明了这一点(请参见“下载”部分):https://blogs.oracle.com/oraclemagazine/better-file-storage-in-oracle-cloud

我希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.