系统无法指定文件错误即将到来。我不知道为什么
我正在使用servlet,并在其中使用了文件输入流来转换字节形式的图像。
public class Student extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String f=request.getParameter("U_Fname");
String l=request.getParameter("U_Lname");
String p=request.getParameter("U_Pswd");
String e=request.getParameter("U_Email");
String m=request.getParameter("U_Mobile");
String a=request.getParameter("U_Address");
String c=request.getParameter("U_Category");
String g=request.getParameter("U_Gender");
String d=request.getParameter("U_Dob");
String t=request.getParameter("U_Country");
String j=request.getParameter("U_Image");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","admin");
PreparedStatement ps=con.prepareStatement("insert into Registeruser values(?,?,?,?,?,?,?,?,?,?,?)");
FileInputStream fis=new FileInputStream(new File(j));
ps.setString(1,f);
ps.setString(2,l);
ps.setString(3,p);
ps.setString(4,e);
ps.setString(5,m);
ps.setString(6,a);
ps.setString(7,c);
ps.setString(8,g);
ps.setString(9,d);
ps.setString(10,t);
ps.setBinaryStream(11,fis);
int i=ps.executeUpdate();
if(i>0)
out.print("You are successfully Registred...");
}catch(Exception e2)
{System.out.println(e2);}
out.close();
}
}
无法指定系统文件,找不到java文件异常
答案 0 :(得分:0)
您可以尝试以下方法。我假设您正在提交的是Image文件,而不是Image路径。
InputStream inputStream = null;
Part filePart = request.getPart("U_Image");
if (filePart != null) {
System.out.println(filePart.getName());
System.out.println(filePart.getSize());
System.out.println(filePart.getContentType());
inputStream = filePart.getInputStream();
}
if (inputStream != null) {
ps.setBlob(11, inputStream);
}