- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将文件从 apache 7.0 服务器上传到 mySQL 数据库。我已经编写了 html 代码来上传文件。
<form action="UploadValidate.jsp" method="post" enctype="multipart/form-data">
<fieldset>
<legend><font size="4" color="white">File Upload</font></legend><br/><br/>
<font size="4" color="white"><b>
<h3> Select File to Upload</h3>       
<input type="file"name="file" /><br/><br/>
<center>
<input type="submit" value="Upload File" /><br/><br/></center>
</font>
</fieldset>
</form>
这是 UploadValidate.jsp
<%@ page import="java.io.*,java.sql.*,java.lang.String.*,com.oreilly.servlet.*"%>
<%
InputStream inputstream=null;
String str=request.getParameter("file");
Part filePart=request.getPart(str);
out.println(filePart);
if(filePart!=null){
out.println(filePart.getName());
out.println(filePart.getSize());
out.println(filePart.getContentType());
//output the inputstream of uploaded file
inputstream=filePart.getInputStream();
}
else{
out.println("cannot execute if condition");
}
%>
<%
try{
String message=null;
int id=123;
String url="jdbc:mysql://localhost:3306/Project";
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(url,"root","admin");
String sql="INSERT INTO uploadfile(id,file) VALUES(?,?)";
PreparedStatement stmt=con.prepareStatement(sql);
stmt.setInt(1,id);
if(inputstream!=null){
stmt.setBlob(2,inputstream);
}
int row=stmt.executeUpdate();
if(row>0){
out.print("<h3><font color=red> Success Welcome!!!!!<br><br> </font></h3>");
}
}catch(Exception e){
e.printStackTrace();
}
//session.setAttribute("Message",message);
//response.sendRedirect("Message.jsp");
%>
尽管我选择了要上传的文件,但 filePart 对象返回 null。它终止如果 bolck 并返回 “null 无法执行 if 条件”作为输出。
最佳答案
要回答实际问题,您获得空返回值的原因有两个。首先是代码:
String str=request.getParameter("file");
Part filePart=request.getPart(str);
应该只是
Part filePart = request.getPart("file");
但是,至关重要的是,request.getPart
方法是 Servlet 3.0 功能,需要使用带有 @MultipartConfig
注释的 servlet(而非 JSP 文件) .
但是,代码中充斥着不良做法。
如评论中所述,十多年来一直不鼓励使用 scriptlet;您应该首先使用 servlet 作为某种 Controller ,然后使用类似以下内容(在内部)转发到您的 JSP View :
request.getRequestDispatcher("/WEB-INF/jsp/view.jsp").forward(request, response);
<font>
和 <center>
HTML 元素也已弃用多年。
最后,有很多库可以帮助文件上传。例如,Apache Commons FileUpload .
Here is a good example如何将以上所有内容放在一起。
关于java - 什么 JAR 包含 getPart() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21904528/
我有拖放输入文件字段: Aby dodać CV kliknij tutaj lub przeciągnij i upuść
我正在将 CSV 文件上传到 Java servlet。我的 HTML 表单如下所示: 在我的 servlet 中,我执行以下操作来检索文件: public void uploadCsv(Ht
我不知道为什么它不起作用。我试图在我的 servlet 中接受多部分表单数据,但 request.getPart("") 未显示。我正在使用 glassfish 3.1.2 服务器。使用的框架是 va
我有一个 Java WebApp,我需要在其中上传一个文件。根据我在 Internet 上找到的内容,这是我尝试过的: public class FileUploadController extend
我正在尝试创建文件上传。我的文件输入: Servlet 中的这个 for 循环会迭代各个部件以获得它们的总大小。它迭代选定的文件和大小为 1、内容类型 null 的附加元素。这会导致错误。 for
我有两个jsp文件。在 test3.jsp 中,我选择一个文件并输入版本,然后显示它。 test3.jsp test2.jsp
我必须开发一个jsp来执行文件上传。我正在使用 Tomcat7 和 servlet-api 3.0。如果我从 Eclipse 中的服务器启动 Tomcat,则 jsp 可以正常工作,否则,如果我在 t
我有一个包含WHERE的SELECT对象。 我可以使用getPart(Zend_Db_Select::WHERE)返回WHERE,这将返回如下内容: array 0 => string "(c
我一直在从事Java Web项目,其中我需要通过JSP页面上传图像并将其存储到MySQL数据库中。我正在以多部分形式输入图像,该图像适用于 Servlet 3.0 或更高版本。 我一直在使用 getP
我正在尝试将文件从 apache 7.0 服务器上传到 mySQL 数据库。我已经编写了 html 代码来上传文件。 File Upload Select Fi
类似于Oracle's MultipartConfig example ,我在调用 request.getPart 之前调用 request.getParameter()。 除非文件大小超过 Mult
大家好,我的代码遇到问题,我有一个 jsp 表单,它将文件发送到 servlet 中,当我尝试使用 request.getParts() 提取文件时,当我尝试将其打印到控制台时,它返回 null 值,
本文整理了Java中org.apache.poi.openxml4j.opc.ZipPackage.getParts()方法的一些代码示例,展示了ZipPackage.getParts()的具体用法。
我在编写 junit 测试以将 for 循环条件从 SlingHttpServletRequest.getParts() 传递给 getParts() 方法时遇到一些困难。执行没有问题,我能够正确处理
我正在尝试使用 getParts() from import javax.servlet.http.Part;但它告诉我“无法解析方法‘getParts()’ package connec; impo
我想在我的 JSF 应用程序中上传一个文件。我正在使用 Filter 和 HttpServletRequestWrapper 访问上传文件。 public MultipartRequestWrapp
我试着按照这个例子 http://www.codejava.net/coding/upload-files-to-database-servlet-jsp-mysql将图像插入数据库的 blob 字段
我需要你的帮助。我正在使用 Spring 3 实现 RESTful WebService 的服务器部分。不幸的是,我对请求的发送方式没有影响,所以无法改变它。 我想接收一个 http post 请求作
我添加了 maven 依赖项 servlet-api 2.5、javaee-web-api 6.0,但我仍然遇到此异常。非常感谢任何帮助 =) 谢谢。 java.lang.NoSuch
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is ja
我是一名优秀的程序员,十分优秀!