一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java進(jìn)階之FileUpload完成上傳的實(shí)例

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

2021-01-09 14:25不知不覺(jué)已變淡 Java教程

這篇文章主要介紹了 Java進(jìn)階之FileUpload完成上傳的實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//創(chuàng)建磁盤(pán)文件項(xiàng)工廠
      DiskFileItemFactory diskFileItemFactory=new DiskFileItemFactory();
      //設(shè)置緩沖區(qū)的大小,如果文件的大小超過(guò)了緩沖區(qū)的大小,就會(huì)產(chǎn)生臨時(shí)文件
      diskFileItemFactory.setSizeThreshold(1024*1024*3);
      //獲得核心解析類(lèi)
      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í)行過(guò)程中上傳項(xiàng)目文件的臨時(shí)數(shù)據(jù)可以存儲(chǔ)在內(nèi)存中或硬盤(pán)上。這個(gè)依賴(lài)于上傳項(xiàng)目的大小(即:數(shù)據(jù)的字節(jié))。不過(guò)這種行為可以在你的應(yīng)用程序中適當(dāng)?shù)淖远ㄖ啤?/p>

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

原文鏈接:http://blog.csdn.net/kdc18333608478/article/details/52664720

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女bbwxxxx非洲黑人 | www一区二区| 呜嗯啊野战h呻吟男男双性 污小说在线阅读 | 国产第7页 | 狠狠色成人综合网图片区 | 91九色国产porny | 国产色资源 | 亚洲天堂网站 | 久久香蕉国产免费天天 | 午夜AV内射一区二区三区红桃视 | 亚洲国产精品久久精品成人网站 | 免费一级毛片在线播放放视频 | 欧美又大又粗又长又硬 | 高h短篇校园1v1 | 美女1819xxxx | 国内亚州视频在线观看 | 五月婷婷在线免费观看 | 欧美高清无砖专区欧美精品 | 逼123| 日韩中文字幕网站 | 亚洲色图第一页 | 久久综久久美利坚合众国 | 国产良家| 精品人伦一区二区三区潘金莲 | 京东热dj6666 | 人人爱操 | 国产啪精品视频网给免丝袜 | www一区| 天天综合天天色 | 久久久高清国产999尤物 | 激情婷婷成人亚洲综合 | 雪恋电影完整版免费观看 | 波多野结衣在线看 | 日韩精品欧美 | 日日免费视频 | 波多野结衣被绝伦强在线观看 | 久久热在线视频精品店 | java hd国产高清 | 无人区免费一二三四乱码 | 4444亚洲国产成人精品 | 99久久香蕉国产综合影院 |