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