SpringMVC文件上传的配置实例详解

前端技术 2023/09/01 Java

记述一下步骤以备查。

准备工作:

需要把Jakarta Commons FileUpload及Jakarta Commons io的包放lib里。

我这边的包是:

commons-fileupload-1.1.1.jar
commons-io-1.3.2.jar

然后在spring-servlet.xml进行multipartResolver配置,不配置好上传会不好用。

<bean id=\"multipartResolver\" class=\"org.springframework.web.multipart.commons.CommonsMultipartResolver\"> 
<property name=\"maxUploadSize\"><value>100000</value></property>
<property name=\"defaultEncoding\"><value>UTF-8</value></property> 
</bean> 

接下来就是页面了:

注意Form的写法和文件上传组件的写法。

<form action=\"uploadPosdetailFile.html\" method=\"post\" ENCTYPE=\"multipart/form-data\">
<div class=\"form\" >
<p>
<span class=\"req\"><input id=\"startDateTxt\" name=\"startDateTxt\" class=\"field size4\" title=\"Enter the date\" /></span>
<label>Start Date: <span>(Date format:MM/dd/yyyy,eg:01/01/2014)</span></label>
</p>
<p>
<span class=\"req\"><input id=\"endDateTxt\" name=\"endDateTxt\" class=\"field size4\" title=\"Enter the date\" /></span>
<label>End Date: <span>(Date format:MM/dd/yyyy,eg:12/25/2014)</span></label>
</p>
<p>
<span class=\"req\"><input type=\"file\" name=\"uploadFileCtrl\" class=\"field size4\" title=\"Choose the file\" /></span>
<label>Upload file: <span>(click browse to choose)</span></label>
</p>
</div>
<div class=\"buttons\">
<input id=\"queryBtn\" type=\"Submit\" class=\"button\" value=\"Submit\" />
</div>
</form> 

再在控制器里写处理代码,注意参数和页面控件的对应关系:

@RequestMapping(value=\"/uploadPosdetailFile\")
public String uploadPosdetailFile(@RequestParam(\"startDateTxt\") String startDateTxt, 
@RequestParam(\"endDateTxt\") String endDateTxt,
@RequestParam(\"uploadFileCtrl\") MultipartFile file,HttpServletRequest request,HttpServletResponse response){
try {
System.out.println(\"@@@@@@@@@1.startDateTxt=\"+startDateTxt);
System.out.println(\"@@@@@@@@@2.endDateTxt=\"+endDateTxt);
System.out.println(\"@@@@@@@@@3.file=\"+file.getOriginalFilename());// 得到上传文件的文件名
if(file.isEmpty()==false){
InputStream is=file.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr); 
String s;
while((s=br.readLine())!=null ){
System.out.println(s);
}
br.close();
isr.close();
is.close();
}
return \"/pages/posdetail/uploadposdetailresult/index.jsp\";
} catch (Exception e) {
e.printStackTrace();
logger.error(e);
request.setAttribute(\"error\", e.getClass());
request.setAttribute(\"reason\", e.getMessage());
StackTraceElement[] arr=e.getStackTrace();
request.setAttribute(\"stackTraceElements\", arr);
return \"pages/error/index.jsp\";
}
}

本文地址:https://www.stayed.cn/item/1866

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。