posts - 89, comments - 241, trackbacks - 0, articles - 1
             :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          低調的apache fileUpload應用

          Posted on 2009-09-23 12:08 saobaolu 閱讀(1354) 評論(0)  編輯  收藏 所屬分類: javaweb
          Apache FileUpload可以應用于很多方面
          現將一應用貼出
          FileUploadServlet.java
           1 package Servlet;
           2 
           3 import java.io.File;
           4 import java.io.IOException;
           5 import java.util.Iterator;
           6 import java.util.List;
           7  
           8 import javax.servlet.ServletException;
           9 import javax.servlet.http.HttpServlet;
          10 import javax.servlet.http.HttpServletRequest;
          11 import javax.servlet.http.HttpServletResponse;
          12  
          13 import org.apache.commons.fileupload.FileItem;
          14 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
          15 import org.apache.commons.fileupload.servlet.ServletFileUpload;
          16  
          17 @SuppressWarnings("serial")
          18 public class FileUploadServlet extends HttpServlet {
          19     private String uploadPath = "D:\\temp"// 上傳文件的目錄
          20     private String tempPath = "d:\\temp\\buffer\\"// 臨時文件目錄
          21     File tempPathFile;
          22  
          23     @SuppressWarnings("unchecked")
          24     public void doPost(HttpServletRequest request, HttpServletResponse response)
          25            throws IOException, ServletException {
          26        try {
          27            // Create a factory for disk-based file items
          28            DiskFileItemFactory factory = new DiskFileItemFactory();
          29  
          30            // Set factory constraints
          31            factory.setSizeThreshold(4096); // 設置緩沖區大小,這里是4kb
          32            factory.setRepository(tempPathFile);// 設置緩沖區目錄
          33  
          34            // Create a new file upload handler
          35            ServletFileUpload upload = new ServletFileUpload(factory);
          36  
          37            // Set overall request size constraint
          38            upload.setSizeMax(4194304); // 設置最大文件尺寸,這里是4MB
          39  
          40            List<FileItem> items = upload.parseRequest(request);// 得到所有的文件
          41            Iterator<FileItem> i = items.iterator();
          42            while (i.hasNext()) {
          43               FileItem fi = (FileItem) i.next();
          44               String fileName = fi.getName();
          45               if (fileName != null) {
          46                   File fullFile = new File(fi.getName());
          47                   File savedFile = new File(uploadPath, fullFile.getName());
          48                   fi.write(savedFile);
          49               }
          50            }
          51            System.out.print("upload succeed");
          52        } catch (Exception e) {
          53            // 可以跳轉出錯頁面
          54            e.printStackTrace();
          55        }
          56     }
          57  
          58     public void init() throws ServletException {
          59        File uploadFile = new File(uploadPath);
          60        if (!uploadFile.exists()) {
          61            uploadFile.mkdirs();
          62        }
          63        File tempPathFile = new File(tempPath);
          64         if (!tempPathFile.exists()) {
          65            tempPathFile.mkdirs();
          66        }
          67     }
          68 }
          upload頁面:
          1 <form name="myform" action="FileUpload" method="post" enctype="multipart/form-data">
          2 File:<br>
          3   <input type="file" name="myfile"><br>
          4   <br>
          5    <input type="submit" name="submit" value="Commit">
          6 </form>

          一般來說,要使用apache fileUpload這個插件,一般要導入兩個jar包
          commons-fileupload-1.2.1.jar
          commons-io-1.3.2.jar
          如果這個io包沒有導入貌似便會報錯。
          點擊下載這兩個包的最新版。
          /Files/chenglu/java/FileUpLoad.zip


          沒有所謂的命運,只有不同的選擇!
          主站蜘蛛池模板: 安岳县| 桃园县| 宁都县| 庆云县| 本溪| 古丈县| 彩票| 图们市| 郑州市| 望谟县| 张掖市| 平塘县| 绵竹市| 白玉县| 江津市| 津市市| 盐城市| 抚顺县| 珲春市| 阿瓦提县| 金塔县| 雅江县| 垦利县| 灵石县| 轮台县| 河池市| 南汇区| 汉源县| 中阳县| 孟州市| 济阳县| 贺兰县| 阿拉善左旗| 仙桃市| 泽库县| 嫩江县| 济阳县| 阜阳市| 甘南县| 上杭县| 慈溪市|