/**
**一个示例
**by kammi(coid@sina.com)
**本示例演示了如何使用 upload 包中的类进行文件的上载和普通数据的提交。
**本示例会将你的上载的文件存入 PATHSTRING 的目录
**同时将页面 Form 中的字段信息用表格的方式显示出来。
**
**/
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import upload.*;
public class FormUpload extends HttpServlet
{
static final String PATHSTRING="d:\\tomcat/webapps/examples/servlets/upload/";
static final String URLSTRING="/examples/servlets/upload/";
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
//这里设定允许上传的文件大小
try{
ContentFactory holder=ContentFactory.getContentFactory(request,(1024*1024*2));
if (holder==null)
{
//可能不是 multipart/form-data 形式编码,或浏览器不支持
out.println("请确认页面中表单的编码为 multipart/form-data 形式");
out.println("如确认,可能你的浏览器不支持该种编码方式");
doGet(request,response);
return;
}
Enumeration fields=holder.getFileParameterNames();
Enumeration names=holder.getParameterNames();
out.println("
\nFiles are
");
out.println("\n \n | 字段名 | \n Content-Type | ");
out.println(" 文件名 | \n
");
while(fields.hasMoreElements())
{
String field=(String)fields.nextElement();
FileHolder[] file=holder.getFileParameterValues(field);
for (int i=0;i\n "+file[i].getParameterName()+ " | \n");
out.println(" "+file[i].getContentType()+" | ");
out.println(" "+fileName+" | \n ");
}
}
out.println("
");
out.println("
");
out.println("Other Fields
");
out.println("\n \n | 字段名 | \n Value | \n
");
while(names.hasMoreElements())
{
String n=(String)names.nextElement();
String[] values=holder.getParameterValues(n);
for(int i=0;i\n " + n+" | \n "+values[i]+" | \n ");
}
}
out.println("
");
out.println("");
}catch(ContentFactoryException e)
{
out.println("上载的数据太多");
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("");
}
}