我一直在使用 Grails 框架进行一些测试,现在我正在尝试在 playframework 中做类似的事情。
基本上,我想显示一些图片,但要隐藏(为了能够避免任何爬行并能够更改托管)图片路径。
gsp页面:
<g:each in="${images}" var="img">
<img class="thumbnail" src='${createLink(controller: "images", action: "displayImage", params:[img: img.name])}'/>
</g:each>
控制器:
def displayImage() {
File image = new File(IMAGES_DIR.absolutePath +'/' + params.img)
if(!image.exists()) {
response.status = 404
} else {
response.setContentType("application/jpg")
OutputStream out = response.getOutputStream();
out.write(image.bytes);
out.close();
}
}
html 生成的页面如下所示:
<img class="thumbnail" src='/myhost/images/displayImage?img=blabla.jpg' />
我的问题:
这是最好的方法吗?
关于性能?
这比使用 http 显示图片慢吗?
我可以在 Playframework 中做这样的事情吗?如果是,如何?
谢谢。
抄送