以下代码本人修改加入原先的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);
}
}
……
改进的Servlet代码实现及解析
本文介绍了一段经过修改的Servlet代码,该代码能够解析请求中的文件上传,并根据不同表单项进行数据处理。通过实例演示了如何从上传的文件流中读取数据,并将数据赋值给指定变量。
689

被折叠的 条评论
为什么被折叠?



