多檔案上傳以及java後台接受

來源:互聯網
上載者:User

標籤:java   多檔案上傳   非控制項   spring   springmvc   

最近項目用到的,實現多檔案以及一些資訊上傳,

以及後台接收及讀取用到了spring及springmvc相關架構。

不多說廢話,直接上例子(這有關鍵代碼)

 

首先,前台頁面

<form action="/uploader/upload/uploadFiles" method="post" enctype="multipart/form-data"><input type="file"size="30" name="uploadify"multiple="true"id="files" />   <button id="uploadFiles">上傳檔案</button>   <input type="hidden" id="username"name="username" /> <input type="hidden" id="directory" name="directory"/></form>


首先解釋下action中的地址為我後台接受檔案的地址,

因為上傳檔案,所以enctype="multipart/form-data"是必須的

同時選擇多個檔案上傳,不使用各種控制項的話,把multiple設定為"true"即可。

另外,上傳檔案input中的name屬性很重要,後台擷取檔案會用到的。

 

下面上後台代碼,username和directory可以在參數中直接擷取

@RequestMapping(value = "/uploadFiles", method = RequestMethod.POST, consumes = "multipart/*")   publicvoid uploadFilesFromHtml(@RequestParam(defaultValue = "") String username,@RequestParam(defaultValue = "") String directory,MultipartHttpServletRequest request)   throws FileUploadException,IOException {      MultiValueMap<String,MultipartFile> map = request.getMultiFileMap();// 為了擷取檔案,這個類是必須的      List<MultipartFile> list = map.get("uploadify");// 擷取到檔案的列表      Stringpath= getFilePath(username,directory); //忽略掉,為檔案最終上傳的地址      List<String>filenameList= newArrayList<>();//      // 將圖片進行儲存      for (MultipartFile mFile : list) {         StringoriginalFileName= mFile.getOriginalFilename();//擷取檔案名稱         filenameList.add(originalFileName);         byte[] bytes = mFile.getBytes();//擷取位元組數組         StringfilePath= path+ File.separator+ originalFileName;         FileOutputStreamfos= newFileOutputStream(newFile(filePath)); //寫出到檔案         fos.write(bytes);         fos.flush();         fos.close();      }   }


本文出自 “楓葉還沒紅” 部落格,請務必保留此出處http://itlearninger.blog.51cto.com/12572641/1913130

多檔案上傳以及java後台接受

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.