Загрузите файлы с URL-адресом с сервера через APEX

Aug 19 2020

Я пытаюсь создать функцию, которая загружает файлы, которые находятся на сервере с URL-адресом. У меня APEX работает на Tomcat 9. На сервере есть путь / папка / файлы, содержащие файлы, которые я хочу загрузить с URL-адресом. Я обнаружил, что, например, я могу легко загружать файлы из папки / i / с URL-адресом, например, http: // {host}: {port} /i/css/apex.css. Я попытался создать ярлык для / folder / files в этой папке. Теперь есть путь ./i/files/. Когда я набираю http: // {host}: {port} /i/files/file1.pdf, я получаю 404.

Как я могу справиться с этим или есть лучший способ сделать это?

Ответы

pmdba Aug 20 2020 at 03:47

APEX не предназначен для такого обслуживания статических файлов. Структура каталогов / i / предопределена и не обязательно указывает на физическое расположение на сервере, как вы думаете. Лучше всего разместить свои пользовательские файлы на отдельном веб-сервере (например, многие люди используют обратный прокси-сервер перед Tomcat) и загружать их оттуда с помощью «обычного» статического URL-адреса.

PawełŻurkiewicz Aug 20 2020 at 08:11

Я нашел простое решение. Просто добавьте в строку server.xml

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

Теперь вы должны просто помнить, что пользователи имеют право читать / выполнять / выполнять поиск с этого пути (тот же владелец или привилегия для группы или других). Теперь я могу легко использовать URL-адрес в APEX (http: // {host}: {port} /files/file1.pdf)