此代码将图像打印到图像的大小。我无法调整图像大小。我尝试过很多方法。 如果我可以从任何其他形式提取图像,请帮忙 最佳答案 好吧,我认为您-6ren">
gpt4 book ai didi

mysql - 我想从sql中检索多个图像并将其打印在jsp页面中的指定位置

转载 作者:行者123 更新时间:2023-11-30 00:18:29 25 4
gpt4 key购买 nike

<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<html>
<%
byte[] imgData = null;
%>
<%
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost/try","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select photo from employee ");

while (rs.next()) {
Blob image = rs.getBlob(1);
imgData = image.getBytes(1,(int)image.length());
}
// display the image
response.setContentType("image/png");
OutputStream o = response.getOutputStream();
%>

<img="<%o.write(imgData);%>" width="10" height="20">
<%o.flush();
o.close();

out.println("hi");
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
out.println("Unable To Display image");
out.println("Image Display Error=" + e.getMessage());
return;
}

%>

此代码将图像打印到图像的大小。我无法调整图像大小。我尝试过很多方法。

如果我可以从任何其他形式提取图像,请帮忙

最佳答案

好吧,我认为您应该创建一个单独的jsp页面,其唯一目的是输出图像。然后,在此页面上的 while 循环中,您需要按如下所示设置标签的图像 URL。我不能保证这段代码会起作用(我不习惯 JSP),但一般该方法应该起作用

生成图像的 JSP 页面(调用 GetImage.jsp):

    <%@ Page import="java.sql.*" %>
<%@ Page import="java.io.*" %>

<html>
<%
byte[] imgData = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost/try","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select photo from employee where employee_id=" + request.getParameter("empId"));
while (rs.next())
{
Blob image = rs.getBlob(1);
imgData = image.getBytes(1,(int)image.length());
}
response.setContentType("image/png");
OutputStream o = response.getOutputStream();
o.flush();
o.close();
rs.close();
stmt.close();
con.close();
}
catch (Exception e)
{
out.println("Unable To Display image");
out.println("Image Display Error=" + e.getMessage());
return;
}
%>
</html>

列出员工图像的 JSP 页面(将此称为 EmployeeList.jsp):

    <%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<html>
<%
try
{
String EmpFirstName;
String EmpSurname;
String EmpId;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/try","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select employee_id,first_name,surname from employee");
while (rs.next())
{
EmpFirstName = rs.getString("first_name");
EmpSurname = rs.getString("surname");
EmpId = rs.getString("EmpId");
<DIV><%=EmpFirstName5> <%=Surname%> </DIV>
<img src="http://localhost/GetImage.jsp?empId=<%=EmpId%>" />
}
rs.close();
stmt.close();
con.close();
}
catch (Exception e)
{
out.println(e.Message);
return;
}
%>
</html>

因此,在您的新页面中,您将接受一个表示员工 ID 的参数(通过查询字符串或其他方式)。然后,在该页面上,您可以在数据库中查询该特定员工 ID 的图像,并像您正在做的那样进行操作 - 无需 while 循环。

上面代码的问题在于它将整个页面的输出流设置为图像。

关于mysql - 我想从sql中检索多个图像并将其打印在jsp页面中的指定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23457588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com