APEXを介してサーバーからURLを含むファイルをダウンロードします

Aug 19 2020

サーバー上にあるファイルをURLでダウンロードする関数を作成しようとしています。Tomcat 9でAPEXを実行しています。サーバーには、URLでダウンロードしたいファイルを含むパス/ folder / filesがあります。たとえば、http:// {host}:{port} /i/css/apex.cssなどのURLで/ i /フォルダからファイルを簡単にダウンロードできることがわかりました。そのフォルダに/ folder / filesへのショートカットを作成しようとしました。これで、パス./i/files/があります。http:// {host}:{port} /i/files/file1.pdfと入力すると、404が表示されます。

これをどのように管理できますか、またはそれを行うためのより良い方法はありますか?

回答

pmdba Aug 20 2020 at 03:47

APEXは、静的ファイルをそのように提供するようには設計されていません。/ i /ディレクトリ構造は事前定義されており、必ずしもサーバー上の物理的な場所を指しているとは限りません。最善の策は、カスタムファイルを別のWebサーバーに配置し(たとえば、多くの人がTomcatの前でリバースプロキシを使用します)、そこから「通常の」静的URLをロードすることです。

PawełŻurkiewicz Aug 20 2020 at 08:11

簡単な解決策を見つけました。server.xml行に追加するだけです

<Context docBase="/folder/files" path="/files"/>

ここで、ユーザーがこのパスから読み取り/実行/検索する特権(同じ所有者、またはグループなどの特権)を持っていることを覚えておく必要があります。これで、APEXのURLを簡単に使用できます(http:// {host}:{port} /files/file1.pdf)