java - 使用 multipart 发送附加数据

标签 java jsp servlets file-upload apache-commons-fileupload

<分区>

我正在使用 apache-commons-fileuploadclient 获取文件到 server。(使用 JSPServlet)。

JSP/HTML

<form method="POST" action="GetFile" enctype="multipart/form-data">
<input type="file" name="datafile">
<input type="text" name="text1">
<input type="submit" value="Next">
</form>

Servlet:GetFile

System.out.println(request.getParameter("text1"));

我可以将文件上传到服务器,但是我无法在 servlet 中获取 text1 的值(我得到的是 null servlettext1 的值),我需要表单中的这个 textfield 来提交一些附加信息,同时将其上传到服务器

  • enctype="multipart/form-data" 选项的形式不允许其他 要提交的表单数据?如果它不允许,那么我必须将这个额外的 textfield 发送到 server 的其他选项是什么。
  • 还是我的代码有其他问题?

最佳答案

Is enctype="multipart/form-data" option of form doesn't allow other form data to be submited? if it doesn't allow it then what are the other options I have to send this additional textfield to the server.

不,使用 enctype="multipart/form-data" 没有问题。您可以获取其他字段,然后以这种形式归档。

Or is there any other problem in my code?

是的,至于现在。在使用 enctype="multipart/form-data" 时,您不能使用 request.getParameter(name); 直接获取参数。使用它时,表单字段不能作为请求的参数使用,它们包含在流中,因此您无法通过正常方式获取它。您可以在 the docs of using commons-fileupload#Processing the uploaded items 中找到执行此操作的方法.

关于java - 使用 multipart 发送附加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15105322/

相关文章:

java - 具有大量并发事务的 Hibernate 二级缓存 ObjectNotFoundException

java - 将模拟对象添加到 Mockito spy 列表 <>

java - 如何访问 JSP 中 servlet 设置的请求属性?

java - 单击超链接时将所选信息从 JSP 发送到 servlet

java - 在 JSP 中将 Graphics2D 显示为 JPG

java - 如何让表达式语言跨多个jsp页面跳转?

java - 如何在 JSP 中保留下拉列表的选定值?

java - 无法在 Eclipse Oxygen 中启动 Tomcat 服务器

java - Singleton 对象和 Java servlet

java - 在 Eclipse 中,是否可以在不更改源文件夹的情况下更改默认包?