您的位置:首页 > Web前端 > JavaScript

jsp 获取表单值, 提交类型为multipart/form-data处理

2014-01-13 19:32 831 查看
//tt.jsp
<script type="text/javascript">
function doSubmit(){
alert("aaaaaa");
form.action = "tt2.jsp?unionFlag=1";
form.method="post";
//form.unionFlag=0;
form.encoding="multipart/form-data";
form.submit();
}
</script>

<form method="post" name="form">
<input type="file" name="file" value="浏览" />
<input type="hidden" id="unionFlag" name="unionFlag" value="0" />
<input type="button" value="上传"  onclick="doSubmit()"/>
</form>


当表单提交类型为multipart/form-data时候,写在<form>中的参数从后台通过request.getParameter()无法获取,输出为null ~!原因是它是用2进制流传输的,你要按流那出来,解析。
解决方法1:参数可以跟在提交字符串后面,如tt2.jsp?unionFlag=1

//tt2.jsp
String unionFlag = request.getParameter("unionFlag");
out.write("<p> unionFlag <p>" + unionFlag);


打印结果为1

解决方法2:一般处理文件上传都会使用第三方的jar上传文件类,比如:jsmartcom_zh_CN.jar

/**获取文件流方式*/
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
/**获取普通参数值方式*/
String unionFlag = mySmartUpload.getRequest().getParameter("unionFlag");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: