2012-04-26 16 views
0

BLOB型のイメージがJSPページに到達していますが、読めない形式です。Mysql Dbからstruts2にBLOB型のイメージを表示する方法

サービス方法:

Iterator itr = list.iterator(); 
if (itr.hasNext()) { 
    Membersdetails get = (Membersdetails) itr.next(); 
    repCurrentImage = get.getRepPicture(); 
} 
return repCurrentImage; 

&私のアクションクラス:最後に

repCurrentImage = sdf.getrepImage(loginId); 

私のJSPページ:あなたはのコンテンツを埋め込むしようとしているよう

<img src="<s:property value="repCurrentImage"/> 
+0

イメージをどのように表示したいですか?テーブル内で、またはページ上でレンダリングしたい場合。 –

+0

データベースにファイルを格納するのは悪い設計です。 'file-name'または' file-id'をデータベースに格納し、ファイルシステムからのみファイルを選択することをお勧めします。 – tusar

+0

@ tusarどのようにそう?私が見たベンチマークでは、パフォーマンスの差がわずかであり、コンテナごとにファイルシステムを管理する方法に関するプラットフォーム固有の問題が回避されています。 – Quaternion

答えて

1

に見えますJSPに直接画像を...これはあなたがURLを供給することができますが動作しません(最高のconstruc struts2 urlタグでストリームの結果を返し、必要なパラメータを取得して画像を選択するアクションを参照します)。

この質問/回答が画像をレンダリングするために使用されるような結果タイプとアクションを示しています。私は良いDBのデータ型はMEDIUMBLOBである私の経験だHow to display image(bolb type) in jsp page from mySql DB in Struts 2 using Hibernate

を、画像の何でも小さい打ち切りとなりました(ファイルの最初の部分だけが表示されます。これは、ファイルに収まるかどうかを確認するために、プロダクションではおそらく最善の方法ですが、すべて保存できます)。

+0

+1を使ってテーブルタグに表示したいのですが、素晴らしい例リンク@Quaternion sirです。そして、悪いデザインに関する私のコメントに関して、私はクロスプラットフォームの依存関係については考えていませんでした。クリアしていただきありがとうございます。実際に私は、ファイルシステムは、ファイルを格納したり取り出したりするときにデータベースよりも常に速くなるという認識を持っています。 – tusar

+0

はい私はそれをしました... –

+0

新しいコード:if(itr.hasNext()) { Membersdetails get =(Membersdetails)itr.next(); repCurrentSignature = get.getRepSignature(); HttpServletResponse res = ServletActionContext.getResponse(); res.setContentType( "multipart/form-data"); ServletOutputStream out = res.getOutputStream(); out.write(repCurrentSignature); out.flush(); } –

関連する問題