一尘不染

多部分发送其他数据

jsp

apache-commons-fileupload用来获取文件clientserver。(使用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"));

我能上传文件到服务器上,但我不能够得到的值text1servlet(我得到null的值text1servlet),我需要这样textfield的形式提交一些额外的信息,同时上传到server

  • enctype="multipart/form-data"形式的选项不允许其他形式的数据所需提交?如果它不允许这样做,那么我还必须将其他选项发送textfieldserver
  • 还是我的代码中还有其他问题?

阅读 271

收藏
2020-06-08

共1个答案

一尘不染

enctype="multipart/form- data"形式的选项不允许其他形式的数据所需提交?如果它不允许这样做,那么我还必须将其他文本字段发送到服务器的其他选项是什么。

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

还是我的代码中还有其他问题?

是的,就目前而言。使用时enctype="multipart/form- data",不能直接使用获取参数request.getParameter(name);。使用表单字段时,表单字段不可用作请求的参数,而是包含在流中,因此您无法以常规方式获取表单字段。您可以在使用commons-
fileupload的文档中
找到处理此问题的方法,该部分 位于处理上载的项目下

2020-06-08