在Web应用中,实现文件上传,可以用这个组件:Commons FileUpload
先到Apache官网下载这个组件,并将Commons-Fileupload.jar 和 Commons-io.jar加到用户库中,并添加到本应用中。
在Servlet 添加一个Init()方法,用来接收一些初始参数,代码如下:
public ServletContext sc;
public String savePath;
public void init(ServletConfig config)
{
config.getInitParameter("savePath");
sc=config.getServletContext();
}
在doPost()方法中,添加代码:
DiskFileItemFactory factoty=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
以下需要try-catch一下
List Items=upload.parseRequest(request);
Iterator it=items.iterator();
while(it.hasNext())
{
FileItem item=(FileItem)it.next();
if(item.isFormField())
{
item.getFiledName();
item.getString("UTF-8")
}
else
{
if(item.getName()!=null&&item.getName().equals(""))
{
File temp=new File(item.getName());
File file=new File(sc.getRealPath("/")+savePath,temp.getName());
item.write(file);
}
}
}