下面是JSP代码,它带有参数'imageName'并在mySQL中执行查找,因为它是DB表中的Blob(用于保存图像);它将图像从mySQL下载到位于不同html页面的元素中。
从使用以下编码的初始jsp页面中调用它:
<img='validate.jsp?imageName=myBlob...' />
然后,“验证jsp”页面将执行以下操作:
// Create a connection by using getConnection() method
connection = DriverManager.getConnection(connectionURL, "root", "password");
//
String queryStr = " SELECT image FROM " +
DatabaseNames.IMAGE_TABLE +
" WHERE title = ? ";
stmt = connection.prepareStatement(queryStr);
//
stmt.setString(1, imageName);
//
rs = stmt.executeQuery();
if(rs.next()) {
byte[] bytearray = new byte[1048576];
int size = 0;
sImage = rs.getBinaryStream(1);
response.reset();
response.setContentType("image/jpeg");
while((size = sImage.read(bytearray)) != -1) {
response.getOutputStream().write(bytearray, 0, size);
}
}
} catch (Exception ex) {
out.println("error:" + ex);
} finally {
out.clear();
out = pageContext.pushBody();
try {
// close all the connections.
rs.close();
stmt.close();
connection.close();
} catch (SQLException se) {
out.println("close error:" + se);
}
}
以上工作正常。它将用下载的博客/图片替换scr。
如果使用Express将其移植到NodeJS上,而我不再使用mySQL作为后端,我现在想做的事情。相反,我使用Firebase Storage作为后端。
我尝试了许多方法来尝试达到相同的结果,但无济于事!
最终html页面上的图像从不显示所需的图像!?
有没有人尝试成功完成此任务...如果可以,请您分享您的示例或想法,以了解如何使其工作和/或如何使其工作?