激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - Java教程 - Java進階之FileUpload完成上傳的實例

Java進階之FileUpload完成上傳的實例

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

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

 Java進階之FileUpload完成上傳的實例

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

     在這里我用的是commons- fileupload-1.2.1,下面就是一個簡單實例,解析過程都寫到代碼中的注釋上了,注釋很詳細

?
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)建磁盤文件項工廠
      DiskFileItemFactory diskFileItemFactory=new DiskFileItemFactory();
      //設(shè)置緩沖區(qū)的大小,如果文件的大小超過了緩沖區(qū)的大小,就會產(chǎn)生臨時文件
      diskFileItemFactory.setSizeThreshold(1024*1024*3);
      //獲得核心解析類
      ServletFileUpload fileUpload=new ServletFileUpload(diskFileItemFactory);
      //解決中文文件名上傳亂碼
      fileUpload.setHeaderEncoding("UTF-8");
      //解析request,返回list集合
      List<FileItem> list = fileUpload.parseRequest(request);
      //獲得每個部分,將遍歷的值存入到一個map集合中
      Map<String, String> map=new HashMap<>();
      //設(shè)置上傳文件的文件名
      String fileName=null;
      for (FileItem fileItem : list) {
        //判斷普通項和文件上傳項
        if (fileItem.isFormField()) {
          //普通項
          String name=fileItem.getFieldName();
          String value=fileItem.getString("UTF-8");
          map.put(name, value);
        }else {
          //文件上傳項
          //獲得文件名
          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)建新的文件項目。這個給了組件FileUpload很大的靈活性。這個工廠擁有怎樣創(chuàng)建項目的最終控制權(quán)。工廠執(zhí)行過程中上傳項目文件的臨時數(shù)據(jù)可以存儲在內(nèi)存中或硬盤上。這個依賴于上傳項目的大小(即:數(shù)據(jù)的字節(jié))。不過這種行為可以在你的應用程序中適當?shù)淖远ㄖ啤?/p>

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 可以看逼的视频 | 色诱亚洲精品久久久久久 | 亚洲成人免费影视 | 毛片视频网站在线观看 | 午夜精品久久久久久久96蜜桃 | xxxx69hd一hd72 | 亚洲一区在线国产 | 中文字幕在线亚洲精品 | 美女视频黄a视频免费全过程 | 91精品久久久久久久久 | 国产日本在线 | 久久久久久中文字幕 | 欧美日韩成人一区二区 | 在线亚洲播放 | 4p一女两男做爰在线观看 | 黄色a级片视频 | 日韩av片在线免费观看 | 精品国产一区在线 | 国产人成免费爽爽爽视频 | 欧美三级日本三级少妇99 | 国产精品一区二区三区99 | 国产一区二区三区高清 | 国产精品免费一区二区三区在线观看 | 国产精品午夜未成人免费观看 | 97中文| 欧美人一级淫片a免费播放 久久久久久久久91 国产99久久久久久免费看 | chinesexxxx刘婷hd 国产资源视频在线观看 | 欧美另类在线视频 | 国产 日韩 亚洲 欧美 | 欧美国产一区二区三区 | 成人国产精品一区二区毛片在线 | 91午夜视频 | 中国久久久| 99这里精品 | 最新中文字幕在线视频 | 精品爱爱 | 亚州综合网 | 九色p| 久久久一二三 | 国产一国产精品一级毛片 | 美女羞羞视频在线观看 |