国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP使用Common FileUpload組件實現文件上傳及限制上傳類型實例代碼

2020-07-27 21:20:40
字體:
來源:轉載
供稿:網友

1、將commons-fileupload-1.3.3.jar復制到Web應用的lib文件夾下,在WebRoot目錄下創建limit.jsp頁面,在該頁面中添加一個文件域的表單,設置類型為    multipart/form-data。代碼如下:

<body>  <h2>上傳圖書課件</h2>  <form action="LimitFile" name="one" enctype="multipart/form-data" method="post">    選擇一個rar文件:    <input type="file" name="fileupload" value="upload" />     <input type="submit" value="上傳"> <input type="reset" value="取消">  </form> </body> 

  上述代碼指定提交后將請求提交給LimitFile處理,LimitFile(Servlet)用來處理上傳文件及判斷文件類型是否匹配,顯示上傳結果。

2、創建名為LimitFile的Servlet,并在doPost()方法中編寫實現代碼,如下所示:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    request.setCharacterEncoding("utf-8");    response.setCharacterEncoding("utf-8");    response.setContentType("text/html");    PrintWriter out = response.getWriter();    String uploadpath = "";    DiskFileItemFactory factory = new DiskFileItemFactory();    //設置是否使用臨時文件保存解析出來的數據的那個臨界值,該方法傳入參數的單位是字節。    factory.setSizeThreshold(30 * 1024);    //用于設置setSizeThreshold()方法中提到的臨時文件的存放目錄,這里要求使用絕對路徑。    factory.setRepository(factory.getRepository());    ServletFileUpload upload = new ServletFileUpload(factory);    List list = null;    try{      list = upload.parseRequest(request);      String[] limit = new String[]{".jpg", ".gif", ".png", ".bmp"};      //定義限制的文件類型      SuffixFileFilter filter = new SuffixFileFilter(limit);      //獲取SuffixFileFilter實例      Iterator iterator = list.iterator();      while(iterator.hasNext()){        FileItem item =(FileItem)iterator.next();        if(!item.isFormField()){          String filePath = item.getName();          if(filePath != null){            File filename= new File(filePath);            File uploadFile = new File(request.getSession().getServletContext().getRealPath("/") + "upload");            uploadpath = uploadFile.getAbsolutePath()+File.pathSeparator + uploadpath;            //因為路徑后面多了個";"號,所以要去掉            uploadpath = uploadpath.substring(0, uploadpath.length()-1);            File saveFile = new File(uploadpath,filename.getName());            boolean flag = filter.accept(saveFile);            if(flag){              out.print("禁止上傳傳圖片文件");              break;            }else{              try {                item.write(saveFile);                out.print("文件上傳成功");              } catch (Exception e) {                out.print("文件上傳失敗了");                e.printStackTrace();              }            }          }        }      }    }catch(FileUploadException e){      e.printStackTrace();    }  }

上述代碼在字節串數組limit中定義了不允許上傳的文件類型,然后將該數組傳遞給SuffixFileFilter類的構造函數。在通過該類的accept()方法驗證當前上傳的文件是否符合條件。最后將文件保存到項目的upload目錄下。

總結

以上所述是小編給大家介紹的JSP使用Common FileUpload組件實現文件上傳及限制上傳類型實例代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 纳雍县| 扬中市| 龙海市| 丽江市| 勐海县| 游戏| 边坝县| 永兴县| 启东市| 鸡泽县| 宁陵县| 东丽区| 镇巴县| 额尔古纳市| 太保市| 将乐县| 合肥市| 石门县| 揭东县| 来凤县| 武隆县| 徐州市| 栖霞市| 界首市| 阿图什市| 信阳市| 固安县| 新宁县| 阿拉尔市| 绵阳市| 沙湾县| 筠连县| 武清区| 大方县| 韶关市| 封丘县| 彰化市| 宜丰县| 定结县| 大埔区| 从化市|