jsp 獲取表單值, 提交類型為multipart/form-data處理


//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");

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM