链接到文件服务器ApEx

时间:2018-09-07 18:55:24

标签: oracle glassfish oracle-apex oracle-apex-5

可以帮我吗?

在线查看,我发现您可以将文件放在Apex图像文件夹中,并用以下句子从那里调用它们:

<a href="#IMAGE_PREFIX#"file.pdf"> Download pdf </a>

<a href="/i/file.pdf"> Download pdf </a>

我需要在该文件夹中放置的文件数量约为1 TB,因此我认为将其放置在文件夹中不是最佳选择,除了可以删除Oracle文件的更新。

我发现了以下内容: 不建议将自己的文件存储在Apex images文件夹下,因为它们可能会在Apex升级期间被覆盖。相反,您可以定义自己的逻辑目录,例如/ myfiles /指向应用程序服务器上的其他位置,然后像这样引用它:

<a href="/myfiles/file.pdf"> Download pdf </a>

创建目录如下

CREATE OR REPLACE DIRECTORY myfiles AS 'C:\test';

如何在应用服务器中定义逻辑目录?我正在使用Glassfish。

1 个答案:

答案 0 :(得分:0)

请遵循由Colm Divilly撰写的非常古老但相关的guide。在这种情况下,您只需要Glassfish的描述符文件。这样的事情应该起作用:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
<sun-web-app>
  <!-- This element specifies the context path the static resources are served from -->
  <context-root>/myfiles</context-root>
  <!-- This element specifies the location on disk where the static resources are located -->
  <property name="alternatedocroot_1" value="from=/* dir="c:/test"/>
</sun-web-app>

检查Windows的资源路径,可能需要更正它。我很少使用Windows进行部署。

其他一些事情:

  • 通常,在您描述的场景中,我会放置一个Web服务器 例如Apache HTTPD或Nginx来提供静态文件。
  • 对Glassfish的ORDS支持已被弃用。