Servlet实现上传下载并显示进度条。
总有人找上传下载的例子,一搜也能搜出来好多结果,但是应用起来可能不那么简单。本文使用servelet最原始的方法,实现简单的上传下载功能,并且显示上传进度条。
首先贴上来一个标准的web_proj的结构目录:
需要引入lib下面的两个包,只需要这两个包,这个在文档的最后我会把相关的源码插入到word中,为了避免拿来主义,这里不分享项目源文件,但是我会贴出来源码。
这里先说明一下原理,先说下载,其实就是简单的一个url的方式,这个不多说,然后说上传。其实就是页面选择文件,点击上传后通过servlet操作文件流,然后把文件留写入本地。但是进度条是怎么实现的呢,就是前台一个不断循环的ajax方法每隔很短的时间就请求后台,在文件上传的时候我们能拿到这个文件的size,而ajax请求或者已经写入的文件的size,这样我就能算出来,上传了百分之多少,每秒上传多少等。
先看效果图:
贴一段xml的代码