Scarica file con URL dal server tramite APEX
Sto cercando di creare una funzione che scarichi i file che si trovano sul server con URL. Ho APEX in esecuzione su Tomcat 9. Sul server c'è un percorso / cartella / file che contiene file che voglio scaricare con URL. Ho scoperto che ad esempio posso scaricare file dalla cartella / i / con URL facilmente, ad esempio http: // {host}: {port} /i/css/apex.css. Ho provato a creare un collegamento a / cartella / file in quella cartella. Ora c'è un percorso ./i/files/. Quando digito http: // {host}: {port} /i/files/file1.pdf ottengo un 404.
Come posso gestirlo o c'è un modo migliore per farlo?
Risposte
APEX non è progettato per fornire file statici in questo modo. La struttura della directory / i / è predefinita e non punta necessariamente a una posizione fisica sul server come si potrebbe pensare. La soluzione migliore è posizionare i file personalizzati su un server web separato (molte persone usano un proxy inverso davanti a Tomcat, per esempio) e caricarli da lì con un URL statico "normale".
Ho trovato la soluzione semplice. Basta aggiungere alla riga server.xml
<Context docBase="/folder/files" path="/files"/>
Ora devi solo ricordarti che gli utenti hanno il privilegio di leggere / eseguire / cercare da questo percorso (lo stesso proprietario, o il privilegio per il gruppo o altri). Ora posso utilizzare facilmente l'URL in APEX (http: // {host}: {port} /files/file1.pdf)