JSP使用ENCTYPE="multipart/form-data"后request.getParameter无效问题Common-FileUpload组件解决方法

以下代码本人修改加入原先的Servlet中已经亲测成功。

import java.io.InputStreamReader;

String TEXT1= null; String TEXT2= null;
DiskFileUpload upload=new DiskFileUpload();
try { 
List uploadlist=upload.parseRequest(request);
Iterator iter=uploadlist.iterator();
while(iter.hasNext())
{
FileItem item=(FileItem)iter.next();

//--------------------------------我是关键部分的分割线-------------------------------------------
if(item.isFormField()) // 过滤掉非表单元素
{
String name=item.getFieldName(); //获取表单项name值
BufferedReader br = new BufferedReader( new inputStreamReader(item.openStream())); //用流获取表单元素,【注】这里把原文的item.getInputStream()改为了item.openStream()
//下面开始根据name值不同读取数据并复制给不同的变量。 
if(name!=null&&name.equals("NAME1"))
{
TEXT1= br.readLine(); 
}
if(name!=null&&name.equals("NAME2"))
{
TEXT2= br.readLine();
}
br.close(); //释放资源 
 }
//--------------------------------我是关键部分的分割线-------------------------------------------
else
{
String name=item.getName();
if(!name.equals(""))
{
path +="/"+name;
File saveFilepath=new File(path);
item.write(saveFilepath);
}
}
……



你可能感兴趣的:(fileupload)