package com.wf.web; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; 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; /** * @author chenkui * */ @WebServlet("/upanddownServlet") public class FileUpLoadServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { // 在自己的项目中构造出一个用于存放用户照片的文件 String projectpath = this.getServletContext().getRealPath("/upload/"); System.out.println(projectpath); String projectpathTemp = this.getServletContext().getRealPath( "/tempload/"); // 如果文件不在,则构造此文件 File file = new File(projectpath);// 上传文件保存位置 File tempfile = new File(projectpathTemp);// 上传缓存临时文件夹 if (!file.exists()) { file.mkdir(); } if (!tempfile.exists()) { tempfile.mkdir(); } // 获取image的路径 // String headImage=request.getParameter("headImage"); // 判断是否上传文件表单,也就是form中是否有enctype="multipart/form-data"项;必须post提交,get提交对内容长度有限制 if (ServletFileUpload.isMultipartContent(request)) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1024 * 512);// 设置缓冲区大小 factory.setRepository(tempfile);// 设置临时文件夹 ServletFileUpload fileUpload = new ServletFileUpload(factory); fileUpload.setFileSizeMax(10 * 1024 * 1024);// 设置最大文件大小 try { @SuppressWarnings("unchecked") List<FileItem> items = fileUpload.parseRequest(request);// 获取所有表单 for (FileItem item : items) { // 判断当前的表单控件是否是一个普通控件 if (!item.isFormField()) { // 是一个文件控件时 String name = item.getName(); System.out.println("上传文件名:" + name); System.out.println("文件大小:" + item.getSize()); String extName = name.substring(name.lastIndexOf(".")); String newName = new SimpleDateFormat( "yyyyMMDDHHmmssms").format(new Date()); System.out.println("扩展名" + extName); item.write(new File(projectpath +"//"+ newName + extName)); } else { // 是普通控件时 String desc = item.getString("UTF-8"); System.out.println("文件描述" + desc); } } } catch (Exception e) { e.printStackTrace(); } } else { throw new RuntimeException("请设置form表单的enctype属性"); } response.sendRedirect("success.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
最近下载更多
15827485252 LV19
2022年3月14日
明123456 LV11
2021年5月27日
最代码-宋家辉 LV61
2021年5月16日
zx54321 LV12
2021年3月30日
小仙女本仙haha LV8
2020年6月20日
zhujunnan LV12
2020年6月9日
qq5101437 LV8
2020年4月17日
tonghao LV18
2019年7月30日
12345678_ LV8
2019年7月19日
liuyan1234 LV9
2019年4月27日
最近浏览更多
xiongwei11231 LV8
2023年12月2日
uni-code_0123 LV1
2023年11月11日
lcqlcl LV11
2023年8月29日
siximu912 LV10
2023年2月22日
2517786374 LV4
2022年11月28日
zw050256 LV7
2022年9月30日
yymmdm LV6
2022年9月5日
1635162218 LV9
2022年5月31日
Zeorwyc LV8
2022年4月21日
15827485252 LV19
2022年3月14日