package lc.progress;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletConfig;
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.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class uploadServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		this.doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		DiskFileItemFactory factory = new DiskFileItemFactory();
		factory.setSizeThreshold(2048*1024);
		myProgressListener getBarListener = new myProgressListener(req);
		ServletFileUpload upload = new ServletFileUpload(factory);
		upload.setProgressListener(getBarListener);
		try {
			List formList = upload.parseRequest(req);
			Iterator<Object> formItem = formList.iterator();
			// 将进度监听器加载进去
			while (formItem.hasNext()) {
				FileItem item = (FileItem) formItem.next();
				if (item.isFormField()) {
					System.out.println("Field Name:" + item.getFieldName());
				} else {
					String fileName = item.getName().substring(item.getName().lastIndexOf("\\")+1);
					File file = new File("e:\\temp"
							+ "\\" + fileName);
					System.out.println("e:\\temp"
							+ "\\" + fileName);
					OutputStream out = item.getOutputStream();
					InputStream in = item.getInputStream();
					req.getSession().setAttribute("outPutStream", out);
					req.getSession().setAttribute("inPutStream", in);
					item.write(file);
					
				}
			}
		} catch (FileUploadException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	@Override
	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub
		super.init(config);
	}

}
最近下载更多
tianqisonw  LV1 2月1日
wanglun_wl  LV10 1月5日
gvin001  LV14 2023年5月16日
hgwnet  LV1 2021年12月8日
张骞的账号  LV1 2021年12月7日
vander  LV1 2021年7月11日
©~~©  LV1 2021年4月22日
oldfox  LV19 2020年12月24日
1530688385  LV5 2020年12月18日
sevenLeeWei  LV1 2020年11月13日
最近浏览更多
tianqisonw  LV1 2月1日
wanglun_wl  LV10 1月5日
1024173314  LV1 2023年12月31日
Ji123455  LV8 2023年9月21日
changhui  LV1 2023年9月7日
wwswdgyqd  LV6 2023年5月25日
gvin001  LV14 2023年5月16日
月光skr  LV4 2023年4月16日
微信网友_6166561027215360  LV2 2022年10月8日
我们都是小怪兽  LV3 2022年9月6日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友