Java JSP如何从html输入将图像存储到数据库中
我试图编写一个代码,将图像存储到数据库中,然后稍后使用rollnum从数据库中检索图像,并将其显示在网页上。我已经尽了我所能,但仍然不好,我尝试了阅读一些教程,但仍然不好,无论如何,这是我正在编写的代码。如果有人能帮忙,我将非常感激,提前谢谢Java JSP如何从html输入将图像存储到数据库中,java,html,jsp,Java,Html,Jsp,我试图编写一个代码,将图像存储到数据库中,然后稍后使用rollnum从数据库中检索图像,并将其显示在网页上。我已经尽了我所能,但仍然不好,我尝试了阅读一些教程,但仍然不好,无论如何,这是我正在编写的代码。如果有人能帮忙,我将非常感激,提前谢谢 <%@page import="java.sql.*" %> <html> <head> <meta http-equiv="Content-Type" content="text/
<%@page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Registration Page</title>
<style>
body{
background-image: url('bg.png');
background-repeat: repeat;
font-family: Courier New;
margin:auto;
width: 1000px;
}
.wrap{
margin-top:10px;
border:solid 1px #000;
height:900px;
}
.header{
font-size: 50px;
font-weight: bold;
font-family: Courier New;
text-align: center;
}
.border{
border-bottom: solid 1px #000;
margin-left: 30px;
margin-right: 30px;
}
.box{
border: solid 1px #000;
padding: 8px;
margin: 30px;
}
</style>
</head>
<body>
<div class="wrap">
<table>
<form method="post">
<br/>
<tr>
<td> Roll Number:</td> <td><input type="text" name="rollnum"/></td>
</tr>
</div>
<tr>
<td> First Name:</td> <td><input type="text" name="fname"/></td>
</tr>
<tr>
<td> Last Name:</td> <td><input type="text" name="lname"/></td>
</tr>
<tr>
<td> Course Name:</td> <td><input type="text" name="course"/></td>
</tr>
<tr>
<td> Gender:</td> <td>Male:<input type="radio" name="gender" value="Male"/> Female:<input type="radio" name="gender" value="Female"/></td>
</tr>
<tr>
<td> Address:</td> <td><input type="text" name="addr"/></td>
</tr>
<tr>
<td> State:</td> <td><input type="text" name="state"/></td>
</tr>
<tr>
<td> Photo:<input type="file" name="photo"/></td>
</tr>
<tr>
<td> <input type="submit" value="Submit" name="submit"/></td>
</tr>
</form>
</table>
<%
try{
if(request.getParameter("submit") != null){
Connection conn;
PreparedStatement prep;
String sql;
String url = "jdbc:derby://localhost:1527/reg";
Class.forName("org.apache.derby.jdbc.ClientDriver");
conn = DriverManager.getConnection(url,"uname","pass");
sql =
"insert into student (rollnum,fname,lname,course,gender,addr,state,photo)"
+"values(?,?,?,?,?,?,?,?)";
ResultSet rs = null;
prep = conn.prepareStatement(sql);
prep.setInt(1, Integer.parseInt(request.getParameter("rollnum")));
prep.setString(2, request.getParameter("fname"));
prep.setString(3, request.getParameter("lname"));
prep.setString(4, request.getParameter("course"));
prep.setString(5, request.getParameter("gender"));
prep.setString(6, request.getParameter("addr"));
prep.setString(7, request.getParameter("state"));
//prep.setString(8, request.getParameter("photo"));
Blob blob = rs.getBlob(request.getParameter("photo"));;
prep.setBlob(8, blob);
int n = prep.executeUpdate();
if(n>0){
%>
<div class="box">Registration Successful!! <b><a href="login.jsp">Login Now!!</a></b></div>
<%
}
}
}
catch(ClassNotFoundException e){
}
catch(NumberFormatException n){
}
%>
</div>
</body>
你可以这样做: 获取图像 使用base64演示文稿转换图像 将base64存储到数据库中 需要图像时,请再次将base64转换为图像
为了帮助社区更好地回答您的问题,请描述您的期望是什么,您是如何测试的,并提供您看到的错误(如果有)。以下是所有实验的基本工作原理:您尝试一些东西,观察发生了什么,然后尝试改变一些事情,直到您观察到的是您想要实现的东西。由此推论,如果你不知道你想要实现什么,如果你不观察任何东西,你就无法进步。既然你没有说任何你想要实现的目标,也没有说任何你正在观察的东西,我们就无能为力了。我总是很惊讶,这里有一半的新手不理解这个基本原则。@JBNizet我编辑了这个问题,你现在能帮忙吗?你还没有告诉我你的观察结果。到底发生了什么?说它不起作用根本没用。@JBNizet,它根本不起作用