休止状態を使用してデータベースからBLOBを取得し、JSPを使用してWebページに表示

Nimit Johri:

答えはここに言及した。これは私がデータベースにBLOBとして格納されているデータベースに配列バイト送られてきた私のために働いていません

File file = new File(filePath);
byte[] imageData = new byte[(int) file.length()];

私はこのバイト配列内のデータベースからBLOBオブジェクトを取得しようとすると、

私は、この「526d24d9 @ [B」のような値を取得します。私は、JSPページに、この値を送信します。(私はバイト配列のリスト、つまり、JSPページにブロブのリストを送っています)今私は、JSPを使用してWebページ上でこの画像をレンダリングしようとしています。しかし、私は1つのアプローチは、ブロブのリストを取得し、それを処理し、それをファイルに格納し、タグを使用してJSPページにそのファイルパスから取得することで、最も効率的なアプローチを把握することはできませんが、私はより多くのを探しています効率的なアプローチ。私はこのような何かをしようとしています

JSPコード

<c:forEach items="${list}" var="list" varStatus="loop">
   <c:set var="l" value="${loop.index}" />

    <tr>
    <td><c:out value= "${l+1}" /></td>
      <td><c:out value="${list.name}" /></td>
      <td><c:out value="${list.size} MB" /></td>
      <td><c:out value="${list.preview}" /></td>
      <td><i class="material-icons">edit</i>
      <i class="material-icons" onclick="Remove()">delete</i></td>
    </tr>
  </c:forEach>

list.previewは "526d24d9 @ [B" バイト配列が含まれています

Heenaミタル:

エンティティ・クラス内の文字列previewUrlフィールドを作成します。ゲッターの内部で、このコードを記述します。

public String getPreviewUrl() {
        String pu = Base64.encode(getPreview());
        setPreviewUrl(pu);
        return previewUrl;
    }

そして、あなたのJSPコードでは、

<td><img class='imagem_artigo' src='data:image/png;base64,${list.previewUrl}' alt='IMG DESC' width="200" height='200'></td>

これは動作します

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=213563&siteId=1