各位大神,我最近在开发一个WEB项目,是BS模式的,有一个模块是大文件上传、下载,目前用fileupload 和IO流实现了最原始的文件上传下载,但是,超过1个G的文件在上传和下载的时候,太卡机器和内存了,不靠谱。
在网上看到有大神说可以用FTP来处理大文件上传下载,但是需要创建FTP服务器,这个意见我在和领导讨论的时候,基本上是被否定了。
然后有很多大神又说可以使用文件分块上传下载,比如在CSDN上有个大神的帖子:
Java 文件分块上传客户端源代码,
Java 文件分块上传服务器端源代码
针对这两个帖子,我想说的是,我的项目是WEB BS项目,应该不存在客户端代码吧,用户的所有操作都该是使用浏览器来完成的吧,然后,我就有点晕了,不知道该怎么来完成这个大文件上传下载的功能了,请各位大神赐教,先谢了。
用户场景是:
有一个WEB项目,是BS模式的,使用的是springMVC架构。用户使用浏览器(现在只考虑IE)打开项目首页,登录项目,然后可以在个人中心上传下载文件。
上传是点击文件管理里面的上传文件,弹出上传文件的窗口,用户就可以选择本地文件,填写一些信息,然后点击“上传”按钮,后台对上传的文件保存到服务器文件磁盘,完成上传操作。
下载文件的时候是,选择一个其他人上传的文件(文件列表,有“下载”按钮),然后点击下载,服务器端对资源进行响应,获取文件磁盘的指定文件,将文件写入浏览器,然后由浏览器进行下载,就完成了下载操作。