gpt4 book ai didi

html - 无法将图像存储到数据库中

转载 作者:行者123 更新时间:2023-11-30 01:23:08 25 4
gpt4 key购买 nike

我创建了以下程序,当我按下提交按钮时,程序抛出 FileNotFound 异常。问题的出现是由于JSP页面无法找到图像的完整路径。我调试了 JSP 程序,发现 HTML 表单仅传递图像名称而没有路径,这就是问题出现的原因。谁能解决这个问题。

##################  SQL Query ######################################

CREATE TABLE IMAGEMAIN(ID INTEGER,IMAGE BLOB) ;

################## HTML Form ######################

<form name="frm" method="post" action="index.jsp">
<input type="text" name="hint">
<input type="file" name="user_file">
<input type="submit">

################### JSP PAGE ########################

try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Connection loaded");
Connection con = DriverManager.getConnection("jdbc:odbc:project","image","image");
System.out.println("Connection created");
String ll=request.getParameter("user_file");
String lo=request.getParameter("hint");
File imgfile = new File(ll);

FileInputStream fin = new FileInputStream(imgfile);

PreparedStatement pre = con.prepareStatement("insert into IMAGEMAIN (id,image) values(?,?)");
pre.setString(1,lo);
pre.setBinaryStream(2,fin,(int)imgfile.length());
pre.executeUpdate();
pre.close();
}

catch(Exception E)
{
out.println("the eror is "+ E);
}

最佳答案

您正在使用的 FileInputStream(String) 的构造函数需要一个文件名,但这不起作用,因为在 HTTP 中上传的文件没有这样的文件名 - 相反,您直接操作流。

根据此 SO QA ( jsp file upload issues ),JSP 不提供处理多部分 HTTP 请求的内置支持,因此您无法在不使用附加 Java 包(例如 Apache Commons FileUpload )的情况下处理上传的文件。 .

所以我建议您安装FileUpload,然后使用它来访问上传的文件。我不熟悉它,但这里有文档:http://commons.apache.org/proper/commons-fileupload/using.html

关于html - 无法将图像存储到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18315082/

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