<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为1MB -->
<property name="maxUploadSize">
<value>1048576</value>
</property>
</bean>
<form action="<%=basePath%>upload.do" method="post" enctype="multipart/form-data">
<input type="file" id="file" name="file" ><br>
<input type="submit" value="上 传"/>
</form>
@RequestMapping(value="/upload.do", method=RequestMethod.POST)
public void uploadFile(HttpServletRequest request, HttpServletResponse response) throws IOException {
System.out.println(".....");
response.setContentType("charset=UTF-8");
response.setCharacterEncoding("UTF-8");
//有人说这个地方转换报错
//org.apache.catalina.connector.RequestFacade cannot be cast to org.springframewor
//问题就在于,你在页面Method="post", 但是Controller的RequestMapping,你没有标注, 所以自然会报错
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
// 获得文件
MultipartFile files = multipartRequest.getFile("file");
// 获得文件名
String fileName = files.getOriginalFilename();
System.out.println(fileName);
// 获得输入流
InputStream input = files.getInputStream();
String filePath = "F:/TEMP/";
if (files.getSize() > 0) {
File targetFile = new File(filePath+fileName);
if(targetFile.mkdirs()){//创建此抽象路径名指定的目录,包括所有必须但不存在的目录
files.transferTo(targetFile);// 写入目标文件
}
}
response.getWriter().print("SUCCESS");
}