0
像我有一個MySQL數據庫,在那裏我有以下欄目: firtname 姓氏燈泡問號從MySQL的
我有一個servlet和上傳圖片到我的MySQL數據庫,這是成功的一種形式。當我從我的數據庫中下載圖片時,它給我提供了正確的圖片。我現在想在瀏覽器中顯示圖片,因此我試圖製作一個表單和一個servlet。當我要求照片時,我只是得到一個問號。有誰知道這是爲什麼?
問候 的Mads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Get Image</title>
</head>
<body>
<p>Here you can see the image</p>
<img src="ImageServlet">
</body>
</html>
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet(urlPatterns = {"/ImageServlet"})
public class ImageServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException{
//PrintWriter pw = response.getWriter();
String connectionURL = "jdbc:mysql://localhost/dblogin";
Connection connection = null;
response.setContentType("image/jpg");
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL,"root","");
Statement st1 = connection.createStatement();
ResultSet rs1 = st1.executeQuery
("SELECT image FROM photo WHERE lastname='test'");
if(rs1.next()){
InputStream is = rs1.getBinaryStream("photo");
byte[] b = new byte[10240];
int n;
while((n = is.read(b)) >= 0) {
response.getOutputStream().write(b, 0, n);
System.out.println(n);
}
is.close();
st1.close();
}
}
catch (Exception e){
e.printStackTrace();
}
}
}