链接到文件服务器ApEx

问题描述 投票:1回答:1

请问你能帮帮我吗?

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

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

要么

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

我需要放在该文件夹中的文件大小约为1 TB,所以我认为将它们放在文件夹中并不是最好的选择,除了可以删除Oracle文件的更新。

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

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

创建目录如下

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

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

oracle glassfish oracle-apex oracle-apex-5
1个回答
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进行部署。

其他一些事情:

  • 通常,在您描述的场景中,我会使用Apache HTTPD或Nginx等Web服务器来提供静态文件。
  • 对Glassfish的ORDS支持已被弃用。
© www.soinside.com 2019 - 2024. All rights reserved.