快速业务通道

Apache Commons fileUpload实现文件上传 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
;/head> <body> </body> </html>

Apache Commons fileUpload实现文件上传(4)

时间:2011-03-07 zhangjunhd

示例4

利用Servlet来实现文件上传。

Upload.java

package com.zj.sample; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; 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; @SuppressWarnings("serial") public class Upload extends HttpServlet {    private String uploadPath = "D:\\temp"; // 上传文件的目录    private String tempPath = "d:\\temp\\buffer\\"; // 临时文件目录    File tempPathFile;    @SuppressWarnings("unchecked")    public void doPost(HttpServletRequest request, HttpServletResponse response)       throws IOException, ServletException {     try {       // Create a factory for disk-based file items       DiskFileItemFactory factory = new DiskFileItemFactory();       // Set factory constraints       factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb       factory.setRepository(tempPathFile);// 设置缓冲区目录       // Create a new file upload handler       ServletFileUpload upload = new ServletFileUpload(factory);       // Set overall request size constraint       upload.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MB       List<FileItem> items = upload.parseRequest(request);// 得到所有的文件       Iterator<FileItem> i = items.iterator();       while (i.hasNext()) {         FileItem fi = (FileItem) i.next();         String fileName = fi.getName();         if (fileName != null) {           File fullFile = new File(fi.getName());           File savedFile = new File(uploadPath, fullFile.getName());           fi.write(savedFile);         }       }       System.out.print("upload succeed");     } catch (Exception e) {       // 可以跳转出错页面       e.printStackTrace();     }    }    public void init() throws ServletException {     File uploadFile = new File(uploadPath);     if (!uploadFile.exists()) {       uploadFile.mkdirs();     }     File tempPathFile = new File(tempPath);      if (!tempPathFile.exists()) {       tempPathFile.mkdirs();     }    } }

demo4.html

<html> <head>    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">    <title>File upload</title> </head> <body> // action="fileupload"对应web.xml中<servlet-mapping>中<url-pattern>的设置.    <form name="myform" action="fileupload&q

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号