我遇到了顯示從外部存儲中檢索到的圖像的實際問題,在這種情況下,S3可能很容易成爲數據庫。Play Framework 2顯示來自數據庫或外部資源的圖像
我的問題是如何顯示不在文件系統上的圖像,即它們是對象中的文件/圖像。我使用的播放2.1.1
查看
@for(image <- receipt.imageIds){ <h4>@image.getId</h4> <h3><img src="@controllers.Application.getImage(image.getId)" /></h3> }
路線
GET /receipt/image/:id controllers.Application.getImage(id:String)
控制器(我試圖在這裏許多選擇,但,這是一個在別人看來使用)
public static Result getImage(final String id) {
try {
ImageId image = AWS_S3_SERVICE.getImage(id);
return ok(extractBytes(image.getImage())).as("image/jpeg");
} catch (Exception ex) {
ex.printStackTrace();
}
return ok();
}
如果我查看生成的輸出未顯示此圖像是我看到:
<img src="SimpleResult(200, Map(Content-Type -> image/jpeg))">
感謝您的建議,我剛剛測試了圖像存儲策略,因爲我不想將它們存儲在數據庫中。我打算在AWS上運行應用程序,因此我認爲s3會更便宜。我會嘗試你的建議,但我也可以恢復在S3中備份或在Dynamo數據庫中存儲文件系統 –