在显示之前,我已将 BLOB 插入到 MYSQL 并成功。我使用此代码将 BLOB 显示到 JSP。
Connection con = Koneksi.getKoneksi();
String id = request.getParameter("id_pengurus");
PreparedStatement ps = con.prepareStatement("select foto from pengurus where idpengurus = ?");
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
rs.next();
Blob b = rs.getBlob("foto");
response.setContentType("image/jpg");
response.setContentLength((int) b.length());
InputStream is = b.getBinaryStream();
OutputStream os = response.getOutputStream();
byte buf[] = new byte[(int) b.length()];
is.read(buf);
os.write(buf);
os.close();
当我使用此代码将 SQL 中的 BLOB 显示到 JSP 时,它起作用了。 当我使用这段代码将MYSQL中的BLOB显示到JSP时,它不起作用。我应该采取什么解决方案?对不起,我的英语不好。先谢谢了。
最佳答案
Blob
是二进制内容并且 JSP
是 text/html
。这意味着您不能组合它们,但是如果您询问如何使用 JSP/Servlet
提供图像那么您可以通过将其内容写入 response
的输出流来完成此操作,确保设置正确的标题 Content-Type: image/png
或响应中类似的内容。
您可以有两个 JSP 文件。一个用于提供图像内容,另一个用于显示图像。
在第二个 JSP 中,有一个简单的 <img>
标签就可以了。
<img src="/imagejsp.jsp"/>
这将显示图像。
关于java - 如何使用 JSP 在 mysql 中显示 BLOB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38965627/