Spring MVC 实现文件的上传和下载

作者 : 开心源码 本文共941个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共148人阅读

前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:“使用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流”。我回复他说:“用Spring MVC框架可以做到这一点,由于Spring MVC为文件的上传提供了直接的支持,但需要依赖Apache提供Commons FileUpload组件jar包。”鉴于这个问题,我上网也百度了一下,网上很多都是详情的用IO流来实现文件的上传和下载,也有说到框架的,但详情的并不是很完整,今天小钱将和大家详情用Spring MVC框架来实现文件的上传和下载,本文将做一个项目案例来完整的用Spring MVC框架实现文件的上传和下载。

文件上传

文件上传是项目开发中最常见的功能。为了能上传文件,必需将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把使用户选择的文件以二进制数据发送给服务器。

一旦设置了enctype为multipart/form-data,浏览器即会采使用二进制流的方式来解决表单数据,而对于文件上传的解决则涉及在服务器端解析原始的HTTP响应。在2003年,Apache Software Foundation发布了开源的Commons FileUpload组件,其很快成为Servlet/JSP程序员上传文件的最佳选择。

Servlet3.0规范已经提供方法来解决文件上传,但这种上传需要在Servlet中完成。而Spring MVC则提供了更简单的封装。

Spring MVC为文件上传提供了直接的支持,这种支持是使用即插即可使用的MultipartResolver实现的。Spring MVC用Apache Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver。因而,SpringMVC的文件上传还需要依赖Apache Commons FileUpload的组件。

本项目作为测试案例,在此我就不创立Maven项目了,我直接创立的是一个Dynamic Web Project(动态的web项目),采使用Tomcat 8作为web服务器,我们需要在项目中引入以下jar包,如下图:

Spring MVC 实现文件的上传和下载

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Spring MVC 实现文件的上传和下载

发表回复