我使用form-data
將客戶PC上的圖片上傳到Spring MVC服務器。將文件從表單數據上傳到Spring服務器時出錯
更新頁:
<!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Spring MVC - Upload File</title> </head> <body> <form id="form1" method="post" action="/upload" enctype="multipart/form-data" accept-charset="utf-8"> <!-- File input --> <input name="file" id="file" type="file" /><br/> <input type="submit" value="Upload" /> </form> </body> </html>
這是春控制器
@RequestMapping(value = "upload", method = RequestMethod.POST) public @ResponseBody String provaUpdate(MultipartHttpServletRequest request,Principal p,HttpServletResponse response)throws IOException { String result=""; LocalFileManager mLocalFileManager = LocalFileManager.get(); Iterator<String> iterator = request.getFileNames(); while(iterator.hasNext()) { System.out.println("iterator.next()="+iterator.next()); } System.out.println("request.getFileMap().isEmpty()??"+request.getFileMap().isEmpty()); // mLocalFileManager.saveLocalData(g,g.getPicturesCount(), request.getFile("new").getInputStream()); return result; }
所以,當我運行,它只是打印:
request.getFileMap().isEmpty()??true
然後,沒有文件似乎被上傳,但如果我得到的request.getInputStream()
我可以寫一個TXT文件表明:
------WebKitFormBoundaryWG8vA5PuTFFxPBqK Content-Disposition: form-data; name="file"; filename="1.jpg" Content-Type: image/jpeg �� JFIF ��ICC_PROFILE 蠠 mntrRGB XYZ ٠ $ acsp �� ӭ )B9 desc D ybXYZ bTRC Ԡ dmdd ࠠ ɧXYZ h gTRC Ԡ lumi | meas //(Symbols) Long ETC, so the picture is sent !! ------WebKitFormBoundaryWG8vA5PuTFFxPBqK--
所以,看來,圖片發送正確,但MultipartHttpServletRequest
無法獲取文件。
這是我的錯誤?
我構式我的服務器的Java應用程序,所以我配置這部分是這樣的:) '@Bean 公共MultipartConfigElement multipartConfigElement({ MultiPartConfigFactory factory = new MultiPartConfigFactory(); factory.setMaxFileSize(「256KB」); factory.setMaxRequestSize(「256KB」); return factory.createMultipartConfig(); }' – 2014-12-04 12:36:27