一起学SpringMVC之文件上传
2019-09-02 09:44:47来源:博客园 阅读 ()
一起学SpringMVC之文件上传
概述
在Web系统开发过程中,文件上传是普遍的功能,本文主要以一个简单的小例子,讲解SpringMVC中文件上传的使用方法,仅供学习分享使用,如有不足之处,还请指正。
文件上传依赖包
如下所示,文件上传依赖的jar包主要有两个:
commons-fileupload-1.4.jar commons-io-2.6.jar
SpringMVC支持文件上传操作步骤
1. 配置支持文件上传的Bean
如下所示:主要配置默认的编码方式,和上传文件的限制大小
1 <!-- 文件上传支持 --> 2 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 3 <property name="defaultEncoding" value="UTF-8"></property> 4 <!-- 设置最大上传内容,单位是byte --> 5 <property name="maxUploadSize" value="1024000"></property> 6 </bean>
2. 在处理方法中,以MultipartFile 进行接收
如下所示:MultipartFile表示一个存储在内存中或者磁盘临时文件类型的文件内容。可以获取对应的输入流(InputStream),然后获取输入流中的字节数组内容。
1 /** 2 * 显示upload页面,GET访问 3 * @return 4 */ 5 @RequestMapping(value="upload",method=RequestMethod.GET) 6 public ModelAndView upload(){ 7 System.out.println("upload被调用了"); 8 ModelAndView mav=new ModelAndView("upload"); 9 return mav; 10 } 11 12 /** 13 * 用于上传文件 14 * @return 15 * @throws IOException 16 */ 17 @RequestMapping(value="upload",method=RequestMethod.POST) 18 public ModelAndView upload(String desc,@RequestParam("file") MultipartFile file) throws IOException{ 19 System.out.println("upload被调用了2"); 20 String fileName=file.getOriginalFilename(); 21 System.out.println("上传的源文件名:"+fileName); 22 System.out.println("文件描述:"+desc); 23 InputStream input= file.getInputStream(); 24 OutputStream output=new FileOutputStream("D:\\upload\\"+fileName); 25 byte[] bs=new byte[1024]; 26 int len=-1; 27 while((len=input.read(bs))!=-1){ 28 output.write(bs,0,len); 29 } 30 output.close(); 31 input.close(); 32 ModelAndView mav=new ModelAndView("success"); 33 return mav; 34 } 35
3. 前端(Jsp)页面中
如下所示:method="post" enctype="multipart/form-data"是关键
1 <form action="upload" method="post" enctype="multipart/form-data"> 2 文件:<input type="file" name="file"> <br /> 3 描述:<input type="text" name="desc" /> <br /> 4 <input type="submit" value="上传"> 5 </form>
4. 运行进行测试
如下所示,输出日志如下:
upload被调用了 upload被调用了2 上传的源文件名:readme.txt 文件描述:1235 upload被调用了
备注
我们,已不再年轻,父母已老去,孩子已长大,吃不完的苦,扛不完的责任。活要自己拼命干,钱要自己辛苦赚。
我们,已不再年轻,该吃就吃,该睡就睡,该笑就笑,该休息就休息。
原文链接:https://www.cnblogs.com/hsiang/p/11443405.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- Spring Boot 实现配置文件加解密原理 2020-06-08
- Java跨平台原理(字节码文件、虚拟机) 以及Java安全性 2020-06-07
- 【Java-jxl插件】【Excel文件读写报错】jxl.read.biff.BiffE 2020-06-07
- IDEA下Maven的pom文件导入依赖出现Auto build completed wit 2020-06-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash