Я работаю над приложением, которое должно загрузить некоторые внешние ресурсы и сделать их доступными через общедоступный/статический каталог в кольце.Как определить правильный путь к файловой системе
Но .. У меня проблема с сохранением ресурсов в статическом каталоге в моем приложении, при разработке я использую адаптер кольцевой струи, на производственных серверах test & работает tomcat.
Я добавил: веб-контента «общественности» к моему Leiningen проекта и добавил «общественность» каталог в корневом каталоге проекта, то у меня есть функция загрузки с помощью HTTP-агента и утка-потоки:
(defn download [file-name url] (h/http-agent url :handler (fn [agnt] (let [fname file-name] (with-open [w (d/writer fname)] (d/copy (h/stream agnt) w))))))
Если я загружаю причал из реплики и использую путь сохранения: «public/my.file», загруженный файл правильно помещается в «общедоступный» каталог. Но когда я развертываю его с помощью военного файла tomcat, он ищет «общедоступный» каталог в корневом каталоге tomcat, а не в контексте контекста приложения.
Я попытался добавить оболочку промежуточного программного обеспечения, чтобы определить путь к контексту, и оттуда построить правильный путь сохранения, но я не могу найти способ доступа к HttpServlet или способ определить, работает ли приложение в адаптере или если он развертывается в определенном контексте.
Здесь обертке:
(defn wrap-context-info [handler] (fn [req] (let [resp (handler req)] (assoc resp :servlet (:servlet req) :req (:servlet-request req)))))
как: сервлет и: REQ равны нулю.
ну это то, что я пытаюсь сделать: – drankard 2010-12-01 10:22:05