最近項(xiàng)目用到的,實(shí)現(xiàn)多文件以及一些信息上傳,以及后臺(tái)接收及讀取用到了spring及springmvc相關(guān)框架。 不多說(shuō)廢話(huà),直接上例子(這有關(guān)鍵代碼) 首先,前臺(tái)頁(yè)面 <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中的地址為我后臺(tái)接受文件的地址, 因?yàn)樯蟼魑募詄nctype="multipart/form-data"是必須的 同時(shí)選擇多個(gè)文件上傳,不使用各種控件的話(huà),把multiple設(shè)置為"true"即可。 另外,上傳文件input中的name屬性很重要,后臺(tái)獲取文件會(huì)用到的。 下面上后臺(tái)代碼,username和directory可以在參數(shù)中直接獲取 @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();// 為了獲取文件,這個(gè)類(lèi)是必須的 List<MultipartFile> list = map.get("uploadify");// 獲取到文件的列表 Stringpath= getFilePath(username,directory); //忽略掉,為文件最終上傳的地址 List<String>filenameList= newArrayList<>();// // 將圖片進(jìn)行存儲(chǔ) for (MultipartFile mFile : list) { StringoriginalFileName= mFile.getOriginalFilename();//獲取文件名稱(chēng) filenameList.add(originalFileName); byte[] bytes = mFile.getBytes();//獲取字節(jié)數(shù)組 StringfilePath= path+ File.separator+ originalFileName; FileOutputStreamfos= newFileOutputStream(newFile(filePath)); //寫(xiě)出到文件 fos.write(bytes); fos.flush(); fos.close(); } }
本文永久更新鏈接地址:http://www./Linux/2017-04/142560.htm
|