从 oracle 数据库中检索图像并在 jsp 中显示图像
Retrieve image from oracle database and show image in jsp
我想从 table 名为 Image 的图像和名为 image 的列中检索图像,类型为 blob,但是 运行 代码给出的 blob 代码是这样的 -
"oracle.sql.BLOB@193242d"
请参阅我的代码以在 jsp page/browser 上获取和显示图像:-
ResultSet resultset =
statement.executeQuery("select * from image where id = '" + id + "'") ;
浏览器页面:-
<TABLE border="1">
<TR>
<TH>ID</TH>
<TH>picture</TH>
</TR>
<TR>
<TD> <%= resultset.getString(1) %> </TD>
<TD> <%= resultset.getBlob(2) %> </TD>
</TR>
</TABLE>
<BR>
您可以创建一个 servlet 来提供来自数据库的图像,请参阅 How to retrieve images from database and place on JSP?
或者您可以将图像数据直接嵌入到图像标签的 src
属性中:I want to retrieve image from mysql database using servlet and show that image along with that user details in table - 虽然这仅适用于小图像(图标等)。
第一个:
oracle.sql.BLOB@193242d
是toString()
方法的响应,不是图像。
第二个:
ResultSet resultset =
statement.executeQuery("select * from image where id = '" + id + "'") ;
为了SQL注射,拜托!
终于
你不能用心里的 text
数据来回应 image
!图片必须通过单独的 cgi/servlet 检索,其中内容类型设置为 image
,因此对于您的情况。
<TD> <%= resultset.getString(1) %> </TD>
<TD> <img src="/get_img?id="<%=id%>/> </TD>
稍后您需要 servlet/cgi 将图像响应为 get_img
@WebServlet(name = "img", urlPatterns = {"/get_img"})
public class get_img extends HttpServlet{
doGet(HttpServletRequest req, HttpServletResponse resp){
...
resp.setContentType("image/jpg");//or image/whatever
try(ResultSet rs=ps.executeQuery()){//where ps is a PreparedStatement
//set the content length, and respond image data
//example:
}
...
}
}
我想从 table 名为 Image 的图像和名为 image 的列中检索图像,类型为 blob,但是 运行 代码给出的 blob 代码是这样的 -
"oracle.sql.BLOB@193242d"
请参阅我的代码以在 jsp page/browser 上获取和显示图像:-
ResultSet resultset =
statement.executeQuery("select * from image where id = '" + id + "'") ;
浏览器页面:-
<TABLE border="1">
<TR>
<TH>ID</TH>
<TH>picture</TH>
</TR>
<TR>
<TD> <%= resultset.getString(1) %> </TD>
<TD> <%= resultset.getBlob(2) %> </TD>
</TR>
</TABLE>
<BR>
您可以创建一个 servlet 来提供来自数据库的图像,请参阅 How to retrieve images from database and place on JSP?
或者您可以将图像数据直接嵌入到图像标签的 src
属性中:I want to retrieve image from mysql database using servlet and show that image along with that user details in table - 虽然这仅适用于小图像(图标等)。
第一个:
oracle.sql.BLOB@193242d
是toString()
方法的响应,不是图像。
第二个:
ResultSet resultset =
statement.executeQuery("select * from image where id = '" + id + "'") ;
为了SQL注射,拜托!
终于
你不能用心里的 text
数据来回应 image
!图片必须通过单独的 cgi/servlet 检索,其中内容类型设置为 image
,因此对于您的情况。
<TD> <%= resultset.getString(1) %> </TD>
<TD> <img src="/get_img?id="<%=id%>/> </TD>
稍后您需要 servlet/cgi 将图像响应为 get_img
@WebServlet(name = "img", urlPatterns = {"/get_img"})
public class get_img extends HttpServlet{
doGet(HttpServletRequest req, HttpServletResponse resp){
...
resp.setContentType("image/jpg");//or image/whatever
try(ResultSet rs=ps.executeQuery()){//where ps is a PreparedStatement
//set the content length, and respond image data
//example:
}
...
}
}