URL'li dosyaları APEX aracılığıyla Sunucudan indirin
Sunucuda bulunan dosyaları URL ile indiren bir işlev oluşturmaya çalışıyorum. Tomcat 9'da APEX çalışıyor. Sunucuda url ile indirmek istediğim dosyaları içeren bir yol / klasör / dosyalar var. Örneğin http: // {host}: {port} /i/css/apex.css gibi URL ile dosyaları / i / klasöründen kolayca indirebileceğimi buldum. Bu klasörde / klasör / dosyalar için bir kısayol oluşturmaya çalıştım. Şimdi bir yol var ./i/files/. Http: // {host}: {port} /i/files/file1.pdf yazdığımda 404 alıyorum.
Bunu nasıl başarabilirim veya bunu yapmanın daha iyi bir yolu var mı?
Yanıtlar
APEX, statik dosyaları bu şekilde sunmak için tasarlanmamıştır. / İ / dizin yapısı önceden tanımlanmıştır ve sunucudaki düşündüğünüz gibi fiziksel bir konuma işaret etmez. En iyi bahsiniz, özel dosyalarınızı ayrı bir web sunucusuna yerleştirmek (örneğin, birçok kişi Tomcat'in önünde ters proxy kullanır) ve oradan "normal" bir statik URL ile yüklemektir.
Basit çözümü buldum. Sadece server.xml satırına ekleyin
<Context docBase="/folder/files" path="/files"/>
Artık kullanıcıların bu yoldan okuma / yürütme / arama ayrıcalığına sahip olduğunu hatırlamanız gerekir (aynı sahip veya grup veya diğerleri için ayrıcalık). Artık URL'yi APEX'te kolayca kullanabilirim (http: // {ana bilgisayar}: {bağlantı noktası} /files/file1.pdf)