我有一组SVG图像文件,它们是Play模块的一部分,由多个Play应用程序共享。对于不支持SVG(*咳嗽* IE6)的旧浏览器,我已经编写了一个控制器,根据浏览器的用户代理字符串将它们转换为PNG格式。如何通过播放路由器解析模块中文件的路径
为此,我需要访问原始SVG文件。但是,该文件可能位于模块的/public/images
目录或应用程序的目录中。 Play路由器能够无缝地解决这两种情况(即,至/public/images/foo.svg
的GET请求始终有效,foo.svg
文件位于应用程序的/public/images
目录或应用程序的/public/images
目录中)。因此,我想利用Play的路由器逻辑来查找文件,获取其绝对路径,并将其提供到转换库中。
这可能吗?我在Play的Router
类中尝试了一些方法,但他们找不到该文件。也许有办法通过正常的路由逻辑在服务器内部发出一种内部GET请求,并以字节流的形式接收结果?
在此先感谢您的帮助。
BTW isn为每个浏览器使用一种格式(PNG)会更好吗? – biesior
我正在使用的模块包含SVG。 –