上传进度展示

spring mvc文件上传实现进度条

喜夏-厌秋 提交于 2019-11-30 16:56:35
文件上传应该大部分人都接触过,一般都是基于commons-fileupload组件来实现,SpringMVC的文件上传功能也是在commons-fileupload组件提供的功能上面做了一些包装功能,使文件上传开发更容易方便。 看下上传效果图: 项目运行效果: 项目源码地址,发布即可用: https://github.com/wuskyfantasy/fileupload.sys 项目使用spring mvc+mybatis实现,数据库采用mysql,具体参考README就可以发布起来。 一、实现普通文件上传 我们知道,类DispatcherServlet是SpringMVC的入口,在其doDispatch方法里面,我们可以看到它会先去检查有没配置multipartResolver 如果有的话会先执行它的resolveMultipart方法: 因此,我们在配置文件中添加: 则可使用SpringMVC自带的CommonsMultipartResolver实现多个文件上传的功能。 二、实现进度条 现在实现带进度条的文件上传一般都是在客户端用flash上传组件计算,或者是通过客户端插件的方式。前者上传组件有大小的限制,后者对于我们系统来说实现过于复杂,开发难度稍大。因此我们采用服务器端计算文件上传进度,客户端轮询的方式。 Commons-fileupload组件自带了文件上传进度的监听器