Descargar archivos con URL desde el servidor a través de APEX

Aug 19 2020

Estoy tratando de crear una función que descargue archivos que están en el servidor con URL. Tengo APEX ejecutándose en Tomcat 9. En el servidor hay una ruta / carpeta / archivos que contiene archivos que quiero descargar con url. Descubrí que, por ejemplo, puedo descargar archivos de la carpeta / i / con URL fácilmente con, por ejemplo, http: // {host}: {puerto} /i/css/apex.css. Intenté crear un acceso directo a / carpeta / archivos en esa carpeta. Ahora hay una ruta ./i/files/. Cuando escribo http: // {host}: {port} /i/files/file1.pdf obtengo un 404.

¿Cómo puedo manejar esto o hay una mejor manera de hacerlo?

Respuestas

pmdba Aug 20 2020 at 03:47

APEX no está diseñado para entregar archivos estáticos de esa manera. La estructura del directorio / i / está predefinida y no necesariamente apunta a una ubicación física en el servidor como lo pensaría. Su mejor opción es colocar sus archivos personalizados en un servidor web separado (muchas personas usan un proxy inverso frente a Tomcat, por ejemplo) y cargarlos desde allí con una URL estática "normal".

PawełŻurkiewicz Aug 20 2020 at 08:11

Encontré la solución más simple. Solo agregue a la línea server.xml

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

Ahora solo debe recordar que los usuarios tienen el privilegio de leer / ejecutar / buscar desde esta ruta (el mismo propietario, o el privilegio de grupo u otros). Ahora puedo usar fácilmente la URL en APEX (http: // {host}: {puerto} /files/file1.pdf)