a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:23:21
字體:
供稿:網(wǎng)友

1、將commons-fileupload-1.3.3.jar復(fù)制到Web應(yīng)用的lib文件夾下,在WebRoot目錄下創(chuàng)建limit.jsp/10836.html">jsp頁面,在該頁面中添加一個文件域的表單,設(shè)置類型為    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)用來處理上傳文件及判斷文件類型是否匹配,顯示上傳結(jié)果。

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

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();    //設(shè)置是否使用臨時文件保存解析出來的數(shù)據(jù)的那個臨界值,該方法傳入?yún)?shù)的單位是字節(jié)。    factory.setSizeThreshold(30 * 1024);    //用于設(shè)置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();    }  }

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

總結(jié)

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


注:相關(guān)教程知識閱讀請移步到JSP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产乱淫av片 | 日韩欧美国产成人一区二区 | 青青草精品 | 国产免费一区二区 | 中文在线一区二区 | 看久久毛片 | 日韩视频在线免费观看 | 99精品欧美一区二区三区综合在线 | 狠狠色噜噜狠狠狠8888米奇 | 狠狠色视频| 欧美涩涩视频 | 国产传媒在线视频 | 色综合天天天天做夜夜夜夜做 | 真人一级毛片 | 久久国际影院 | 91中文字幕在线 | 欧美一级片免费观看 | 91麻豆产精品久久久 | 亚洲国产一二区 | 久久精品中文 | 成人毛片在线视频 | 久久久免费电影 | 日本理论片好看理论片 | 欧美一区二区三区在线 | 日韩a级免费视频 | 黄色日本片 | 极品成人影院 | 中文字幕一级 | 日韩视频三区 | 久久精品视频免费观看 | baoyu133. con永久免费视频 | 亚洲成人精品网 | 成人精品一区二区 | 日韩毛片在线免费观看 | 亚洲国产福利 | 欧洲毛片| 亚洲精品国产9999久久久久 | 久久久www成人免费精品 | 亚洲欧美第一页 | av黄色在线播放 | 69性欧美高清影院 |