画像をMYSQLDBにMEDIUMBLOBとして保存し、ブラウザに表示するWebアプリケーションを作成しています。
PreparedStatement psmt = con.prepareStatement("SELECT pdfImage FROM pdfInfo WHERE pdfinfoid=?");
psmt.setString(1, what);
ResultSet rs1 = psmt.executeQuery();
while (rs1.next()) {
System.out.println("inside rs1.mext");
String imgLen = rs1.getString(1);
System.out.println(imgLen.length());
int len = imgLen.length();
System.out.println("length inside == " + len);
byte[] rb = new byte[len];
InputStream readImg = rs1.getBinaryStream(1);
InputStream inputStream = readImg;
int index = readImg.read(rb, 0, len);
System.out.println("index----------------" + index);
response.reset();
response.setHeader("Content-Length", String.valueOf(len));
response.setHeader("Content-disposition", "inline;filename=/file.png");
response.setContentType("image/png");
response.getOutputStream().write(rb, 0, len);
response.getOutputStream().flush();
}
問題は、ローカルで、プロジェクトをライブで撮影したときに画像を見ることができることです。問題は1つの画像のみにあります。
soutステートメントの出力は次のとおりです。
INFO: inside rs1.mext
INFO: 5942414
INFO: length inside == 5942414
INFO: index----------------5942414
INFO: leng here is 5942414
この情報がローカルホストにある場合、画像を表示できますが、このプロジェクトをオンラインで取得すると、画像を表示できません。
画像を見ることができるように、どこかにパラメータを設定する必要がありますか?
その他のsoutステートメントは以下のとおりです。画像を見ることができます。
INFO: inside rs1.mext
INFO: 204999
INFO: length inside == 204999
INFO: index----------------204999
INFO: leng here is 204999
INFO: inside rs1.mext
INFO: 515274
INFO: length inside == 515274
INFO: index----------------515274
INFO: leng here is 515274