在JSP中显示来自Database的图像

时间:2013-04-29 18:29:22

标签: database image jsp blob

我想在从数据库中检索到的JSP中显示图像。 现在,经过对互联网的大量研究,我发现了这段代码。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>View Item</title>
    </head>
    <body>
        <center>
            <h1>View Item</h1>
            <%
            Connection con = DefaultConnection.establishSqlConnection();
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM Items WHERE ItemCode='"+request.getParameter("itemCode")+"'");
            Blob image = rs.getBlob("ItemImage");
            InputStream imageInputStream = image.getBinaryStream();
            int bufferSize = 1024;
            byte[] buffer = new byte[bufferSize];
            int len=0;
            %>
            <form action="addItem.jsp" method="post">
                <table>
                    <tr><%=rs.getInt("ItemCode")%></tr>
                    <tr><%=rs.getString("ItemName")%></tr>
                    <tr><%while ((len=imageInputStream.read(buffer)) != -1) {
                        out.write(buffer, 0, len);
                    }%></tr>
                </table>
            </form>
        </center>
    </body>
</html>

现在我的问题是,无论我看到什么,out.write()方法都与(byte [],int,int)参数一起使用。 但我的NetBeans拒绝接受这些论点。 API表示out.write()仅支持(char [],int,int)参数。 我不知道这种方式是否正确。

请告诉我,我做错了什么,或者是否有其他绝对方法可以做到这一点。

0 个答案:

没有答案