最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java進(jìn)階之FileUpload完成上傳的實(shí)例

 更新時(shí)間:2017年09月23日 13:12:38   作者:不知不覺已變淡  
這篇文章主要介紹了 Java進(jìn)階之FileUpload完成上傳的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下

 Java進(jìn)階之FileUpload完成上傳的實(shí)例

   FileUpload是Apache commons下面的一個(gè)子項(xiàng)目,用來實(shí)現(xiàn)Java項(xiàng)目下的文件上傳功能,常見的文件上傳還有SmartUpload,Servlet3.0,Struts2。

     在這里我用的是commons- fileupload-1.2.1,下面就是一個(gè)簡(jiǎn)單實(shí)例,解析過程都寫到代碼中的注釋上了,注釋很詳細(xì)

//創(chuàng)建磁盤文件項(xiàng)工廠 
      DiskFileItemFactory diskFileItemFactory=new DiskFileItemFactory(); 
      //設(shè)置緩沖區(qū)的大小,如果文件的大小超過了緩沖區(qū)的大小,就會(huì)產(chǎn)生臨時(shí)文件 
      diskFileItemFactory.setSizeThreshold(1024*1024*3); 
      //獲得核心解析類 
      ServletFileUpload fileUpload=new ServletFileUpload(diskFileItemFactory); 
      //解決中文文件名上傳亂碼 
      fileUpload.setHeaderEncoding("UTF-8"); 
      //解析request,返回list集合 
      List<FileItem> list = fileUpload.parseRequest(request); 
      //獲得每個(gè)部分,將遍歷的值存入到一個(gè)map集合中 
      Map<String, String> map=new HashMap<>(); 
      //設(shè)置上傳文件的文件名 
      String fileName=null; 
      for (FileItem fileItem : list) { 
        //判斷普通項(xiàng)和文件上傳項(xiàng) 
        if (fileItem.isFormField()) { 
          //普通項(xiàng) 
          String name=fileItem.getFieldName(); 
          String value=fileItem.getString("UTF-8"); 
          map.put(name, value); 
        }else { 
          //文件上傳項(xiàng) 
          //獲得文件名 
          fileName=fileItem.getName(); 
          //獲得文件的輸入流 
          InputStream is=fileItem.getInputStream(); 
          //獲得文件上傳的路徑 
          String path=this.getServletContext().getRealPath("/products/1"); 
          OutputStream os=new FileOutputStream(path+"/"+fileName); 
          int len=0; 
          byte[] b=new byte[1024]; 
           
          while ((len=is.read(b))!=-1) { 
            os.write(b, 0, len); 
          } 
          is.close(); 
          os.close(); 
        } 

     組件FileUpload使用FileItemFactory工廠創(chuàng)建新的文件項(xiàng)目。這個(gè)給了組件FileUpload很大的靈活性。這個(gè)工廠擁有怎樣創(chuàng)建項(xiàng)目的最終控制權(quán)。工廠執(zhí)行過程中上傳項(xiàng)目文件的臨時(shí)數(shù)據(jù)可以存儲(chǔ)在內(nèi)存中或硬盤上。這個(gè)依賴于上傳項(xiàng)目的大小(即:數(shù)據(jù)的字節(jié))。不過這種行為可以在你的應(yīng)用程序中適當(dāng)?shù)淖远ㄖ啤?br />

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Spring動(dòng)態(tài)多數(shù)據(jù)源配置實(shí)例Demo

    Spring動(dòng)態(tài)多數(shù)據(jù)源配置實(shí)例Demo

    本篇文章主要介紹了Spring動(dòng)態(tài)多數(shù)據(jù)源配置實(shí)例Demo,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • java 基于maven多模塊合并打包部署的操作過程

    java 基于maven多模塊合并打包部署的操作過程

    這篇文章主要介紹了java 基于maven多模塊合并打包部署的操作過程,本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Java編程中的條件判斷之if語句的用法詳解

    Java編程中的條件判斷之if語句的用法詳解

    這篇文章主要介紹了Java編程中的條件判斷之if語句的用法詳解,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • 詳解Java的面向?qū)ο蠛兔嫦蜻^程

    詳解Java的面向?qū)ο蠛兔嫦蜻^程

    我們知道,Java是面向?qū)ο蟮木幊陶Z言,但是至今仍有不少同學(xué)還不太懂”面向?qū)ο蟆暗拇_切含義,今天這篇文章就帶大家真正地認(rèn)識(shí)面向?qū)ο螅信d趣的同學(xué)可以跟著小編一起來學(xué)習(xí)
    2023-05-05
  • 使用WebUploader實(shí)現(xiàn)上傳文件功能(一)

    使用WebUploader實(shí)現(xiàn)上傳文件功能(一)

    這篇文章主要為大家詳細(xì)介紹了使用WebUploader實(shí)現(xiàn)上傳文件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 解決springboot jpa @Column columnDefinition等屬性失效問題

    解決springboot jpa @Column columnDefinition等屬性失效問題

    這篇文章主要介紹了解決springboot jpa @Column columnDefinition等屬性失效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法

    java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法

    這篇文章主要介紹了java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法,涉及Java元素遍歷與數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Java Comparator比較器實(shí)例解析

    Java Comparator比較器實(shí)例解析

    這篇文章主要介紹了Java Comparator比較器實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java多態(tài)性抽象類與接口細(xì)致詳解

    Java多態(tài)性抽象類與接口細(xì)致詳解

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Java實(shí)現(xiàn)國(guó)產(chǎn)加密算法SM4的示例詳解

    Java實(shí)現(xiàn)國(guó)產(chǎn)加密算法SM4的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)國(guó)產(chǎn)加密算法SM4(ECB和CBC兩種模式),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01

最新評(píng)論

马山县| 尼勒克县| 扬州市| 科技| 舒城县| 泸定县| 通渭县| 沅江市| 镇沅| 阳城县| 任丘市| 阜新| 岫岩| 巴南区| 荥阳市| 象山县| 郧西县| 阜宁县| 扎赉特旗| 杨浦区| 乌拉特前旗| 赫章县| 安义县| 新晃| 潼南县| 四平市| 峨边| 平塘县| 玉田县| 西畴县| 鄂托克旗| 精河县| 朝阳县| 清远市| 万荣县| 电白县| 白玉县| 亚东县| 彩票| 伊金霍洛旗| 烟台市|