1

私は、ユーザーの画像を含むユーザーの情報を保存する必要があるこのプロジェクトを行っています。それをブロブ画像としてデータベースに保存しています。「写真」が画像の列である場合、Webページの他の列をレンダリングする場合よりも、たとえば「render.column_name」の場合は正常に機能します。しかし、「render.photo」などの画像に対してこれを行うと、DB は Web ページで「jpa.blob.....」として何かを返します。DBに保存されているこの画像を表示する方法を教えてもらえますか?

4

1 に答える 1

3

画像データを提供するには、別のコントローラー メソッドが必要です。ファイルに関する何らかのメタ情報、つまり MIME タイプがカスタム エンティティにあると仮定すると、コントローラーは次のようになりますFileStore

public class ShowFile extends Controller {
    public static void render(String id) {
        FileStore fs = // fetch the file out of the DB  using the id

        notFoundIfNull(fs);

        response.setContentTypeIfNotSet(fs.mimeType);
        response.setHeader("Cache-Control", "public, max-age=31536000");
        renderBinary(new ByteArrayInputStream(fs.content), fs.content.length);
    }
}

imgこのページでは、次のタグを使用してそのメソッドにリンクします。

<img src="@{ShowFile.render(image.id)}" /> 
于 2012-08-14T13:20:17.840 に答える