package com.my.other;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.ProgressListener;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class UploadAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
UploadProgressListener pl = new UploadProgressListener(request);
long start_time = System.currentTimeMillis();
DiskFileUpload fu = new DiskFileUpload();
fu.setProgressListener(pl);
List items = fu.parseRequest(request);
System.out.println(items.size());
int flag = 0;
for (int i = 0; i < items.size(); i++) {
FileItem fi = (FileItem)items.get(i);
if (!fi.isFormField() && fi.getName().trim().equals("")) {
flag = 1;
}
}
if(flag == 1) {
response.getWriter().print("<root><message>上传失败</message></root>");
//throw new Exception("sfsdf");
}else{
System.out.println("sdfds");
for (int i = 0; i < items.size(); i++) {
FileItem fi = (FileItem)items.get(i);
if (fi.isFormField()) {
} else {
if ("".equals(fi.getName().trim())) {
continue;
}
//ȡ�ļ�����
String filename = fi.getName();
int pos = filename.lastIndexOf("\\");
filename = filename.substring(pos + 1);
fi.write(new File(this.getServlet().getServletContext().getRealPath("//")
+ "//files//" + filename));
}
}
long end_time = System.currentTimeMillis();
System.out.println("Used time:" + (end_time - start_time ) );
response.getWriter().print("<root><message>上传成功</message></root>");
}
response.flushBuffer();
return null;
}
}
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.ProgressListener;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class UploadAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
UploadProgressListener pl = new UploadProgressListener(request);
long start_time = System.currentTimeMillis();
DiskFileUpload fu = new DiskFileUpload();
fu.setProgressListener(pl);
List items = fu.parseRequest(request);
System.out.println(items.size());
int flag = 0;
for (int i = 0; i < items.size(); i++) {
FileItem fi = (FileItem)items.get(i);
if (!fi.isFormField() && fi.getName().trim().equals("")) {
flag = 1;
}
}
if(flag == 1) {
response.getWriter().print("<root><message>上传失败</message></root>");
//throw new Exception("sfsdf");
}else{
System.out.println("sdfds");
for (int i = 0; i < items.size(); i++) {
FileItem fi = (FileItem)items.get(i);
if (fi.isFormField()) {
} else {
if ("".equals(fi.getName().trim())) {
continue;
}
//ȡ�ļ�����
String filename = fi.getName();
int pos = filename.lastIndexOf("\\");
filename = filename.substring(pos + 1);
fi.write(new File(this.getServlet().getServletContext().getRealPath("//")
+ "//files//" + filename));
}
}
long end_time = System.currentTimeMillis();
System.out.println("Used time:" + (end_time - start_time ) );
response.getWriter().print("<root><message>上传成功</message></root>");
}
response.flushBuffer();
return null;
}
}