在Web應用中,實現文件上傳,可以用這個組件:Commons FileUpload
先到Apache官網下載這個組件,并將Commons-Fileupload.jar 和 Commons-io.jar加到用戶庫中,并添加到本應用中。
在Servlet 添加一個Init()方法,用來接收一些初始參數,代碼如下:
先到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()方法中,添加代碼:public String savePath;
public void init(ServletConfig config)
{
config.getInitParameter("savePath");
sc=config.getServletContext();
}
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);
}
}
}
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);
}
}
}