引入jar包:commons-fileupload-1.3.1.jar,commons-io-1.3.2.jar
前台HTML:
<form action="./upload" method="post" enctype="multipart/form-data"><table><tr><td><label>用户名:</label></td><td><input type="text" name="userName"/></td></tr><tr><td><label>密码:</label></td><td><input type="text" name="userPwd"/></td></tr><tr><td><label>文件名:</label></td><td><input type="file" name="fileName1"/></td></tr><tr><td><label>文件名:</label></td><td><input type="file" name="fileName2"/></td></tr><tr><td><input type="submit" value="提交"/></td><td><input type="reset" value="重置"/></td></tr></table></form>
后台配置的servlet:
public class FileUpload extends HttpServlet {PRivate String uploadPath = "C://upload//"; // 上传文件的目录
@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {super.doGet(req, resp);}
@Overrideprotected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
try {// 判断是否有文件上传boolean isMultiPart = ServletFileUpload.isMultipartContent(request);if (isMultiPart) {DiskFileItemFactory factory = new DiskFileItemFactory();// Set factory constraints// factory.setSizeThreshold(yourMaxMemorySize);// factory.setRepository(yourTempDirectory);ServletContext context = this.getServletConfig().getServletContext();File repository = (File) context.getAttribute("javax.servlet.context.tempdir");factory.setRepository(repository);ServletFileUpload upload = new ServletFileUpload(factory);// Set overall request size constraint//upload.setSizeMax(yourMaxRequestSize);List<FileItem> items = upload.parseRequest(request);Iterator<FileItem> iter = items.iterator();while(iter.hasNext()){FileItem item = iter.next();if(item.isFormField()){ String name = item.getFieldName(); String value = item.getString(); System.out.println(name+":"+value);}else{String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); System.out.println("fieldName:"+fieldName); System.out.println("fileName:"+fileName); System.out.println("contentType:"+contentType); System.out.println("isInMemory:"+isInMemory); System.out.println("sizeInBytes:"+sizeInBytes); File uploadedFile = new File(uploadPath+System.currentTimeMillis()+".txt"); item.write(uploadedFile); //InputStream uploadedStream = item.getInputStream(); //... //uploadedStream.close(); // Process a file upload in memory //byte[] data = item.get();}}}} catch (Exception e) {e.printStackTrace();}}
}
web.xml文件配置:
<servlet> <servlet-name>FileUpload</servlet-name> <servlet-class>com.jt.fileupload.FileUpload</servlet-class> </servlet> <servlet-mapping> <servlet-name>FileUpload</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping>
新闻热点
疑难解答