配置java
<!-- 支持上傳文件 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--編碼--> <property name="defaultEncoding" value="utf-8"></property> <!--文件大小,若是須要捕獲文件過大異常,並返回這個參數根據狀況判斷是否去掉--> <property name="maxUploadSize" value="5242880"></property> <property name="maxInMemorySize" value="4096"></property> </bean>
java 服務端web
/* *採用spring提供的上傳文件的方法 */ @RequestMapping("springUpload") public String springUpload(Exception ex,HttpServletRequest request) throws IllegalStateException, IOException { //建立一個通用的多部分解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //判斷 request 是否有文件上傳,即多部分請求 if(multipartResolver.isMultipart(request)){ //轉換成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request; //取得request中的全部文件名 Iterator<String> iter = multiRequest.getFileNames(); while(iter.hasNext()){ //取得上傳文件 MultipartFile file = multiRequest.getFile(iter.next()); if(file != null){ //取得當前上傳文件的文件名稱 String myFileName = file.getOriginalFilename(); //若是名稱不爲「」,說明該文件存在,不然說明該文件不存在 if(myFileName.trim() !=""){ /** * 文件處理邏輯 */ //重命名上傳後的文件名 String fileName = "demoUpload" + file.getOriginalFilename(); //定義上傳路徑 String path = "E:/" + fileName; File localFile = new File(path); file.transferTo(localFile); } } } } return "success"; }
Ajax和form 提交儘可spring
文件過大的處理參考 https://my.oschina.net/u/943316/blog/860135app