用到的第三方包:commons-fileupload-1.2.jar 可到apache官方网站下载
package fileupload;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.ListIterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.xml.sax.helpers.AttributesImpl;
public class UploadHandler extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("*****************doget");
//super.doPost(req, resp);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
PrintWriter out = null;
System.out.println("********************post method uploadDirectory:"+uploadPath);
File disk = null;
FileItem item = null;
DiskFileItemFactory factory = new DiskFileItemFactory();
process the request.
String statusMessage = "";
String fileName = "";
ListIterator iterator = null;
List items = null;
ServletFileUpload upload = new ServletFileUpload( factory );
try {
out = response.getWriter();
items = upload.parseRequest(request);
iterator = items.listIterator();
while( iterator.hasNext() ) {
item = (FileItem)iterator.next();
if( item.isFormField() )
{
if (item.getFieldName().equalsIgnoreCase("othername")){
fileName = item.getString(); }
} else {
disk = new File(uploadPath + fileName); item.write(disk); System.out.println("***************upload sucess:"+uploadPath + fileName);
}
}
out.write("ok");
out.close();
}
catch (Exception e){
e.printStackTrace();
out.println(e.getMessage());
}
}
public void init() throws ServletException {
// tempPath = ....
// 文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
}
private String uploadPath = "d:\\tmp\\"; // 上传文件的目录
}
package fileupload;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.ListIterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.xml.sax.helpers.AttributesImpl;
public class UploadHandler extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("*****************doget");
//super.doPost(req, resp);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
PrintWriter out = null;
System.out.println("********************post method uploadDirectory:"+uploadPath);
File disk = null;
FileItem item = null;
DiskFileItemFactory factory = new DiskFileItemFactory();
process the request.
String statusMessage = "";
String fileName = "";
ListIterator iterator = null;
List items = null;
ServletFileUpload upload = new ServletFileUpload( factory );
try {
out = response.getWriter();
items = upload.parseRequest(request);
iterator = items.listIterator();
while( iterator.hasNext() ) {
item = (FileItem)iterator.next();
if( item.isFormField() )
{
if (item.getFieldName().equalsIgnoreCase("othername")){
fileName = item.getString(); }
} else {
disk = new File(uploadPath + fileName); item.write(disk); System.out.println("***************upload sucess:"+uploadPath + fileName);
}
}
out.write("ok");
out.close();
}
catch (Exception e){
e.printStackTrace();
out.println(e.getMessage());
}
}
public void init() throws ServletException {
// tempPath = ....
// 文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
}
private String uploadPath = "d:\\tmp\\"; // 上传文件的目录
}