@SuppressWarnings("serial")
public class UploadServlet extends HttpServlet
{
@SuppressWarnings("unchecked")
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String uploadDir = (null != getInitParameter("uploaddir")) ? getInitParameter("uploaddir")
: "d:/upload";
long maxSize = (null != getInitParameter("maxsize")) ? Long
.parseLong(getInitParameter("maxsize")) : 1024 * 1024;
request.setCharacterEncoding("UTF-8");
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(maxSize);
try
{
List list = upload.parseRequest(request);
if(list.size() > 0)
{
File dir = new File(uploadDir);
if(!dir.exists())
{
dir.mkdirs();
}
for(int i = 0; i < list.size(); i++)
{
FileItem fileItem = (FileItem) list.get(i);
if(fileItem.getSize() > 0)
{
String fileName = fileItem.getName();
int index = fileName.lastIndexOf(File.separatorChar);
String name = fileName.substring(index + 1);
fileItem.write(new File(uploadDir + File.separatorChar
+ name));
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}