一、前言
上一章讲述了在jetty下springMVC上传图片,但是好多开发者应该用的是tomcat,所以站长亲自配置了下一个通用的springMVC上传图片的demo,并测试成功。
二、controller代码
/*** V型知识库 原创 www.vxzsk.com *****/ @RequestMapping(value="/uploadTop",method=RequestMethod.POST) public void uploadPage(MultipartHttpServletRequest multipartRequest, HttpServletResponse response,HttpServletRequest request) throws Exception{ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); response.setContentType("text/html;charset=UTF-8"); //System.out.println("ddddd"); String realPath = multipartRequest.getSession() .getServletContext() .getRealPath("upload/top"); System.out.println(realPath); String jpgName=UUID.randomUUID().toString()+sdf.format(new Date()); MultipartFile file= multipartRequest.getFile("houseMaps"); //System.out.println(file.getOriginalFilename()+"================="); // String fileName = file.getOriginalFilename(); File file2 = new File(realPath+"/"+jpgName+".jpg"); FileCopyUtils.copy(file.getBytes(),file2); System.out.println(realPath+"/"+jpgName+".jpg"); String result="{result:'"+jpgName+"'}"; response.getWriter().print(result); }
注意:代码中文件接收名字为houseMaps,FileCopyUtils工具类为org.springframework.util.FileCopyUtils;
三、配置文件ApplicationContext.xml加入上传代码
<!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException --> <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 指定所上传文件的总大小不能超过5000KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --> <property name="maxUploadSize" value="52428800"/> <property name="maxInMemorySize"> <value>2048</value> </property> </bean>
四、jsp代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>单图片上传</title> </head> <body> <fieldset> <legend>图片上传</legend> <h2>只能上传单张10M以下的 PNG、JPG、GIF 格式的图片</h2> <form action="b/uploadTop.do" method="post" enctype="multipart/form-data"> 选择文件:<input type="file" name="houseMaps"> <input type="submit" value="上传"> </form> </fieldset> </body> </html>
注意:form表达的请求action路径,以及选择文件的input名字必须为houseMaps(与controller方法中接收一致)
此文章本站原创,地址 https://www.vxzsk.com/610.html
转载请注明出处!谢谢!
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程
上一篇:springMVC上传图片和返回json
下一篇:体系结构
^