グラフの従業員を表示するコードがあります。JSPを使用してBLOB(画像)を表示
データ(名前、電話、写真など)はSQLServerに保存され、JSPで表示されます。 画像は.jpg(IMAGE = BLOB列に保存されています)を除いてOKです。
ところで、すでに画像が表示されていますが(下のコードを参照)、.cssで定義された領域に配置する方法はわかりません(下記のコードも参照してください)。 resultSetを介して取得されたイメージは、ブラウザのページ全体にロードされます。
画像をどのようにフレーム化できますか?
<%
Connection con = FactoryConnection_SQL_SERVER.getConnection("empCHART");
Statement stSuper = con.createStatement();
Statement stSetor = con.createStatement();
Blob image = null;
byte[] imgData = null;
ResultSet rsSuper = stSuper.executeQuery("SELECT * FROM funChart WHERE dept = 'myDept'");
if (rsSuper.next()) {
image = rsSuper.getBlob(12);
imgData = image.getBytes(1, (int) image.length());
response.setContentType("image/gif");
OutputStream o = response.getOutputStream();
//o.write(imgData); // even here we got the same as below.
//o.flush();
//o.close();
--[...]
<table style="margin: 0px; margin-top: 15px;">
<tr>
<td id="photo">
<img title="<%=rsSuper.getString("empName").trim()%>" src="<%= o.wite(imageData); o.flush(); o.close(); %>" />
</td>
</td>
<td id="empData">
<h3><%=rsSuper.getString("empName")%></h3>
<p><%=rsSuper.getString("Position")%></p>
<p>Id:<br/><%=rsSuper.getString("id")%></p>
<p>Phone:<br/><%=rsSuper.getString("Phone")%></p>
<p>E-Mail:<br/><%=rsSuper.getString("Email")%></p>
</td>
</table>
そして、ここに画像をフレームになっフラグメントである:事前に
#photo
{
padding: 0px;
vertical-align: middle;
text-align: center;
width: 170px;
height: 220px;
}
ありがとう!
JSPページの属性。そのため、JSPページには ''のようなものしか含まれておらず、イメージのバイナリに応答するサーブレットがあります。別の解決策(私はそれをお勧めしません)は、JSPページでbase64としてイメージを送信することです。 –