私は 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 でこのようなことはできますか? はいの場合、どのように?
ありがとう。
CC