У меня есть набор файлов изображений SVG, которые являются частью модуля Play и используются несколькими приложениями Play. Для старых браузеров, не поддерживающих SVG (*кашель* IE6), я написал контроллер, который преобразует их в формат PNG на основе строки пользовательского агента браузера.
Чтобы это работало, мне нужно получить доступ к исходному файлу SVG. Однако файл может находиться в каталоге /public/images
модуля или в каталоге приложения. Маршрутизатор Play может беспрепятственно разрешить любой случай (т. е. запрос GET к /public/images/foo.svg
работает всегда, независимо от того, находится ли файл foo.svg
в каталоге приложения /public/images
или в каталоге приложения /public/images
). Поэтому я хотел бы использовать логику маршрутизатора Play, чтобы найти файл, получить его абсолютный путь и передать его в библиотеку преобразования.
Это возможно? Я попробовал несколько методов в классе Router
Play, но они не смогли найти файл. Возможно, есть способ сделать своего рода внутренний запрос GET на сервере с помощью обычной логики маршрутизации и получить результат в виде потока байтов?
Заранее спасибо за вашу помощь.