Изображение из базы данных отображается в виде контура - PullRequest
0 голосов
/ 02 марта 2020

Я изо всех сил пытаюсь понять эту ошибку. У меня только одна страница jsp, которая должна отображать изображение из моей базы данных mysql. Изображение в настоящее время отображается как пустое белое изображение, в основном его контур. Нет проблем с отображением текста. Было бы здорово, если бы кто-нибудь смог мне помочь. У меня изначально был .getString вместо .getBlob, который отображал строку случайных символов.

С уважением.

<html>
<body>
    <%@page contentType="text/html; charset=UTF-8" %>
    <%@ page import="java.io.*"%>
 <%@ page import="java.sql.*"%>
 <%@ page import="java.util.*"%>
  <%@ page import="java.text.*"%>
 <%@ page import="javax.servlet.*"%>
 <%@ page import="javax.servlet.http.*"%>
 <%@ page import="javax.servlet.http.HttpSession"%>
 <%@ page language="java"%>
 <%@ page session="true"%>
 <%@ page import="java.sql.*"%>
<% 
Blob image = null;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String iurl1=null;


try {
Class.forName("com.mysql.jdbc.Driver");
con =           DriverManager.getConnection("jdbc:mysql://localhost:3306/databasename","root","");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from book where book_id = 1");

%>

<table border="2">
<tr><th>DISPLAYING IMAGE</th></tr>
<tr><td>Image 2</td></tr>
<tr><td>
<%while(rs.next()){%>
<p><%=rs.getString("title") %></p>
<p><%=rs.getString("author") %></p>
 <img src="<%=rs.getBlob("image") %>" width="500" height="500"/>

 <%}%>
</td></tr>
</table>
<%}
catch (Exception e) {
out.println("DB problem"); 
return;
}
finally {
try {
rs.close();
stmt.close();
con.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
%>
</body>
</html>
...