用commons-fileupload接收不到普通文本框的值的问题分析

来源:互联网 发布:java图形化 编辑:程序博客网 时间:2024/05/16 19:19
用commons-fileupload接收不到普通文本框的值的问题分析:
<form method="post" enctype="multipart/form-data" action="/fileupload">
     上传文件:
    <input type="file" name="upfile">
    <select name="professionType"  style="height: 35px;">
     <c:forEach items="${userProfession}" var="userProfession">
        <option value="${userProfession.professionId}">${userProfession.profession}</option>
     </c:forEach>
    </select>
    
    <input type="submit" value="上传" />
    <input type="button" onclick="hideDiv()" value="取消">
</form>

表单中enctype="multipart/form-data"
可以看下提交后的数据:
-----------------------------26083148818346
Content-Disposition: form-data; name="upfile"; filename="docreader.dll"
Content-Type: application/qscall-plugin

MZ�������ÿÿ��¸�������@����������������������������������� ��º�´    Í!¸LÍ!This program cannot be
 run in DOS mode.
....//省略
-----------------------------26083148818346
Content-Disposition: form-data; name="professionType"

2
-----------------------------26083148818346--
这个声明可知表单提交数据的时候是与二进制的形式提交的,采用普通的获取req.getParameter("professionType")是获取不到的
所以需要其他方法才可以获取到提交的普通表单属性

上面的提交格式想到有如下方法:
1)
可以通过输入流解析以上的格式,从而解析到我们需要的值
2)
通过commons-fileupload中的getFieldName()获取到我们需要的professionType,通过getString()获取到professionType的值
0 0
原创粉丝点击