spring mvc-文件上传
2015-10-27 12:55
316 查看
在文件上传时,我们需要用到文件上传解析器,其实,它并不陌生,只是对httpServletRequest的一个扩展,使其能够更好的处理文件上传,扩展的接口名为:org.springframework.web.multipart.MultipartHttpServletRequest
先用一个类图看一下这个它的底层架构:
下面用代码层面看一下如何实现:
先用一个类图看一下这个它的底层架构:
下面用代码层面看一下如何实现:
1、web.xml中配置
<bean id="multipartResolver" class="<span style="color:#ff0000;">org.springframework.web.multipart.commons.CommonsMultipartResolver</span>"> <!-- 文件最大值 --> <property name="maxUploadSize" value="1048576000" /> <property name="defaultEncoding" value="utf-8"/> <!-- 缓存大小 --> <property name="maxInMemorySize" value="40960"></property> </bean>
2、Controller中实现文件的上传
@Controller @RequestMapping("/file") public class UploadController { @RequestMapping(value="/upload") public String addUser(@RequestParam("<span style="color:#ff0000;"><strong>file</strong></span>")CommonsMultipartFile file,HttpServletRequest request) throws IOException{ System.out.println("fileName--->"+file.getOriginalFilename()); if (!file.isEmpty()) { try { //定义文件的路径 FileOutputStream os=new FileOutputStream("D:/"+new Date().getTime() +file.getOriginalFilename()); //上传文件 InputStream in=file.getInputStream(); int b=0; //如果文件内容部位空 while ((b=in.read())!=-1){ os.write(b); } os.flush();//刷新 os.close(); in.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return "/success"; }
3、jsp中拼出页面
注意:两处加红的字体必须一致<form name="userForm" action="/ springMVC7/file/upload" method="post" enctype="multipart/form-data"> 选择文件:<input type="text" name="<span style="color:#ff0000;"><strong>file</strong></span>"> <input type="submit" value="上传" onclick="addUser()"> </form>
相关文章推荐
- Maven运行Java main方法区别: exec:java 和exec:exec
- shiro、SpringMVC权限控制
- 关于java命名规范及注释,并将javadoc的生成html
- 37-java数字猜大小
- java.net.SocketException: Unconnected sockets not implemented 解
- shiro、SpringMVC权限控制
- java之ssh
- ajaxfileupload.js、struts2、ajax、json异步上传图片
- 韩顺平循序渐进学java从入门到精通视频教程在线观看(总汇),1-94集全,以及视频和ppt,课后笔记
- 深入理解java虚拟机之java内存模型与线程,主要参考《深入理解java虚拟机》
- eclipse设置格式化模板
- java ftp操作
- java动态代理(JDK和cglib)
- 9个Java性能优化工具汇总
- detachedCriteria: java.lang.integer cannot be cast to Long
- 深入理解Java:注解(Annotation)自定义注解入门
- spring相关文档下载地址更新
- struts,如何让一个json数据传出到前台
- java接口同抽象类的区别联系
- 快速高效学习Java编程在线资源Top 20