解決方法:
對于第三種情況我們直接request.getParameter來取參數值是取不到的
我們可以借用apache的上傳組件來解決
用到jar包commons-fileupload-1.1.1.jar
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
*獲取各種類型表單的表單參數
*@paramrequest HttpServletRequest請求對像
* @paramparamName 參數名
*@return
*@throwsFileUploadException
*/
publicstatic String
getParameterValue(HttpServletRequest request,String paramName) throws
FileUploadException{
boolean
isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart==true){
FileItemFactory
factory = new DiskFileItemFactory();
ServletFileUpload
upload = new ServletFileUpload(factory);
List
fileItemList = upload.parseRequest(request);
if(fileItemList!=null){
for(Iterator itr=fileItemList.iterator();itr.hasNext();){
FileItem fileItem = (FileItem)itr.next();
if(fileItem.getFieldName().equalsIgnoreCase(paramName)){
return new
String(fileItem.getString().getBytes("ISO8859-1"))//中文轉碼
}
}
}
}else{
return new String(request.getParameter(paramName).getBytes("ISO8859-1"))//中文轉碼
}
return"";
}
|