java 大文件上传

时间:2022-03-08 17:21:39
最近需要做一个资源平台,基于web形式,需要上传大文件,格式很多种,主要是文件都比较大(500M以上的)。类似电影,应用软件。

我使用的是struts2 +spring+hibernate技术,先前使用的是struts2的文件上传fileUpload,重新设置上传大小,可以实现大文件上传 ,但是速度较慢,担心网络不好的地方,会出错误,也曾想过给每个用户开一个ftp,让他们每个人先上传自己的资源,而后在需要上传资源的地方,书写自己文件的名称,我后台去查找,验证资源是否上传了,已上传就保存,未找到资源让用户的ftp帐户自己先去上传资源。

请高人给点意见,是否有其他好的解决方法?列如是否有成熟控件可以使用,或是其他的,谢谢大家!

38 个解决方案

#1


每天发言就有10个可用分

#2


解决这种大文件上传不太可能用web上传的方式,只有自己开发插件或是当门客户端上传,或者用现有的ftp等。
1)开发一个web插件。用于上传文件。
2)开发一个FTP工具,不用web上传。
3)用现有的FTP工具。

#3


能介绍一个插件吗?我去网上看的MUPLOAD大文件上传不知道好用不,有别的插件吗?

#4


大文件传输不可能使用http协议来搞定。
你恐怕需要自己编写一个applet或者ActiveX使用ftp或者自定义协议来解决这个传输问题。
如果你采用现在的解决方案。并发20个左右的大文件传输。服务器就会宕掉。
建议你使用activex+ftp来搞定它,如果不熟悉就用applet也可以。需要花点时间的也就是研究ftp协议。

#5


仔细检查啊!!

#6


该回复于2011-04-06 11:33:15被版主删除

#7


针对你这个问题,我想我这个回答能帮助你!我们当时项目也遇到了这个问题。我给你介绍个插件把!Jquery的uploadify插件。你可以用用看。感觉效果不错。具体使用。你可以看帮助文档。若还不会可以请教我。但前提必须把分先给了再说。

#8


引用 7 楼 taiyangzhizi 的回复:
针对你这个问题,我想我这个回答能帮助你!我们当时项目也遇到了这个问题。我给你介绍个插件把!Jquery的uploadify插件。你可以用用看。感觉效果不错。具体使用。你可以看帮助文档。若还不会可以请教我。但前提必须把分先给了再说。

有这样的,这招绝 java 大文件上传

#9


楼上介绍的jquery-uolodyify ,我下了一个版本进行了一个小测试,感觉还行,主要是没在大项目中用过,不知道性能如何,稳定性怎么样?楼上的能给点意见吗?你在你的项目中用的怎么样?如果不错的话,我也采用这种方式。
applet也是一种方式,MUPLOAD组件就是以APPLET方式处理的,但是我不是很喜欢java中的APPLET.

#10


使用applet吧,在里面还能使用压缩流,速度快一些。

#11


该回复于2014-11-14 17:11:18被管理员删除

#12


该回复于2014-11-14 17:13:35被管理员删除

#13


该回复于2011-04-25 08:53:49被版主删除

#14


该回复于2011-04-25 08:53:49被版主删除

#15


该回复于2011-04-25 10:48:20被版主删除

#16


引用楼主 hongshancha111 的回复:
最近需要做一个资源平台,基于web形式,需要上传大文件,格式很多种,主要是文件都比较大(500M以上的)。类似电影,应用软件。

我使用的是struts2 +spring+hibernate技术,先前使用的是struts2的文件上传fileUpload,重新设置上传大小,可以实现大文件上传 ,但是速度较慢,担心网络不好的地方,会出错误,也曾想过给每个用户开一个ftp,让他们每个人先上传自己的资……


楼上说的这些控件都跟SOCKET相关,单单WEB上传可靠性太低了。

#17


大文件上传没有试过

#18


该回复于2011-04-25 13:30:27被版主删除

#19


该回复于2011-04-27 10:17:23被版主删除

#20


~~~~~
大文件上传?多大?大项目的话应该有专门的文件管理系统吧?小项目的话,你的硬盘空间够吗?会不会传一个文件就把空间占满?10 M 以内的文件用普通的上传不会有多大问题。

#21


用FTP吧,速度效果都不错

#22


是吗??我们积分了!

#23


用FTP吧,速度效果都不错

#24


北京新颖网络FTP文件上传控件似乎不支持Google浏览器
我喜欢用Google浏览器
很多人喜欢用火狐,似乎都不支持吧?

#25


网上有一个Web大文件断点续传控件: http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:
java 大文件上传
文件MD5值计算完毕
java 大文件上传
服务器根据MD5检测是否存在相同文件
java 大文件上传
续传文件
java 大文件上传
从服务器加载文件列表
java 大文件上传
文件上传中
java 大文件上传
文件上传完毕
java 大文件上传
上传文件夹
java 大文件上传
与Discuz!X2整合-后台安装断点续传控件
java 大文件上传
与Discuz!X2整合-后台启用断点续传控件
java 大文件上传
与Discuz!X2整合-后台断点续传控件启用成功
java 大文件上传
与Discuz!X2整合-前台发帖页面
java 大文件上传
与Discuz!X2整合-上传
java 大文件上传

#26


引用 25 楼  的回复:
Xproer.HttpUploader4: http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:
java 大文件上传
文件MD5值计算完毕
java 大文件上传
服务器根据MD5检测是否存在相同文件
java 大文件上传
续传文件
java 大文件上传
从服务器加载文件列表
java 大文件上传
文件上传中
java 大文件上传
文件上传完毕
java 大文件上传
上传文件夹
java 大文件上传
与Discuz!X2整合-后台安装断点续传控件
java 大文件上传
与Discuz!X2整合-后台启用断点续传控件
java 大文件上传
与Discuz!X2整合-后台断点续传控件启用成功
java 大文件上传
与Discuz!X2整合-前台发帖页面
java 大文件上传
与Discuz!X2整合-上传
java 大文件上传

这个不错,我们公司几个内部系统都是用的这个控件。整合比较简单。难得可贵的是他们提供了许多已经整合好的示例,比如JSP和MySQL。我们的系统就是用的MySQL数据库。

#27


这个插件是收费的啊,好几千,好几万大洋呢

#28


引用 27 楼  的回复:
这个插件是收费的啊,好几千,好几万大洋呢

话说我们公司上个星期刚刚购买了这个控件。让开发人员搞,哪天开发人员离职了就没人管了。还不如直接买成熟的东西,这样技术支持也到位,别人已经把开发文档写好了,这样我们的技术人员就能够把更多的精力放在自已的业务开发这块。

#29


uplodify,可以显示上传进度。大文件本来就传得慢,这个没啥解决的。。

#30


找了半天都是这种决绝办法,还是继续试验吧!

#31


唉 怎么就没有免费的呢

#32


目前正遇到这方面的需求.....不知道大文件有什么好的控件呢?

#33


java 大文件上传
这个免费,去下载资源就能用了

#34


楼主,我把我的经验告诉你吧。
上个月公司要求我们部门做一个文件上传的功能,文件的大小一般是高于1G。与你说的500M差不多,如果文件大,HTTP上传不给力,掉线又得重传,所以必须要能断点上传才行。
基于BS架构的HTTP请求协议是不可能能实现断点续传的,所以要使用其他协议来进行。

推荐你看下JavaUploader免费开源的,是用applet实现的,需要签名才能在浏览器上用,支持断点。

#35


如果你不需要访问用户的硬盘文件,那你可以使用FTP上传,也支持断点。但只要你访问用户磁盘,又要支持断点,那必须要签名的。不然浏览器不知道你的身份。

#36


引用 33 楼 s478853630 的回复:
java 大文件上传
这个免费,去下载资源就能用了
java 大文件上传这个免费的你给个名字啊

#37


uploadify只是一般的上传插件……关键还是要靠后台……单靠web确实不行!

#38


Stream 上传插件(www.twinkling.cn)就是解决这种大文件上传的WEB插件。有JAVA版本的后台实现!

#1


每天发言就有10个可用分

#2


解决这种大文件上传不太可能用web上传的方式,只有自己开发插件或是当门客户端上传,或者用现有的ftp等。
1)开发一个web插件。用于上传文件。
2)开发一个FTP工具,不用web上传。
3)用现有的FTP工具。

#3


能介绍一个插件吗?我去网上看的MUPLOAD大文件上传不知道好用不,有别的插件吗?

#4


大文件传输不可能使用http协议来搞定。
你恐怕需要自己编写一个applet或者ActiveX使用ftp或者自定义协议来解决这个传输问题。
如果你采用现在的解决方案。并发20个左右的大文件传输。服务器就会宕掉。
建议你使用activex+ftp来搞定它,如果不熟悉就用applet也可以。需要花点时间的也就是研究ftp协议。

#5


仔细检查啊!!

#6


该回复于2011-04-06 11:33:15被版主删除

#7


针对你这个问题,我想我这个回答能帮助你!我们当时项目也遇到了这个问题。我给你介绍个插件把!Jquery的uploadify插件。你可以用用看。感觉效果不错。具体使用。你可以看帮助文档。若还不会可以请教我。但前提必须把分先给了再说。

#8


引用 7 楼 taiyangzhizi 的回复:
针对你这个问题,我想我这个回答能帮助你!我们当时项目也遇到了这个问题。我给你介绍个插件把!Jquery的uploadify插件。你可以用用看。感觉效果不错。具体使用。你可以看帮助文档。若还不会可以请教我。但前提必须把分先给了再说。

有这样的,这招绝 java 大文件上传

#9


楼上介绍的jquery-uolodyify ,我下了一个版本进行了一个小测试,感觉还行,主要是没在大项目中用过,不知道性能如何,稳定性怎么样?楼上的能给点意见吗?你在你的项目中用的怎么样?如果不错的话,我也采用这种方式。
applet也是一种方式,MUPLOAD组件就是以APPLET方式处理的,但是我不是很喜欢java中的APPLET.

#10


使用applet吧,在里面还能使用压缩流,速度快一些。

#11


该回复于2014-11-14 17:11:18被管理员删除

#12


该回复于2014-11-14 17:13:35被管理员删除

#13


该回复于2011-04-25 08:53:49被版主删除

#14


该回复于2011-04-25 08:53:49被版主删除

#15


该回复于2011-04-25 10:48:20被版主删除

#16


引用楼主 hongshancha111 的回复:
最近需要做一个资源平台,基于web形式,需要上传大文件,格式很多种,主要是文件都比较大(500M以上的)。类似电影,应用软件。

我使用的是struts2 +spring+hibernate技术,先前使用的是struts2的文件上传fileUpload,重新设置上传大小,可以实现大文件上传 ,但是速度较慢,担心网络不好的地方,会出错误,也曾想过给每个用户开一个ftp,让他们每个人先上传自己的资……


楼上说的这些控件都跟SOCKET相关,单单WEB上传可靠性太低了。

#17


大文件上传没有试过

#18


该回复于2011-04-25 13:30:27被版主删除

#19


该回复于2011-04-27 10:17:23被版主删除

#20


~~~~~
大文件上传?多大?大项目的话应该有专门的文件管理系统吧?小项目的话,你的硬盘空间够吗?会不会传一个文件就把空间占满?10 M 以内的文件用普通的上传不会有多大问题。

#21


用FTP吧,速度效果都不错

#22


是吗??我们积分了!

#23


用FTP吧,速度效果都不错

#24


北京新颖网络FTP文件上传控件似乎不支持Google浏览器
我喜欢用Google浏览器
很多人喜欢用火狐,似乎都不支持吧?

#25


网上有一个Web大文件断点续传控件: http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:
java 大文件上传
文件MD5值计算完毕
java 大文件上传
服务器根据MD5检测是否存在相同文件
java 大文件上传
续传文件
java 大文件上传
从服务器加载文件列表
java 大文件上传
文件上传中
java 大文件上传
文件上传完毕
java 大文件上传
上传文件夹
java 大文件上传
与Discuz!X2整合-后台安装断点续传控件
java 大文件上传
与Discuz!X2整合-后台启用断点续传控件
java 大文件上传
与Discuz!X2整合-后台断点续传控件启用成功
java 大文件上传
与Discuz!X2整合-前台发帖页面
java 大文件上传
与Discuz!X2整合-上传
java 大文件上传

#26


引用 25 楼  的回复:
Xproer.HttpUploader4: http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
文件MD5值计算进度:
java 大文件上传
文件MD5值计算完毕
java 大文件上传
服务器根据MD5检测是否存在相同文件
java 大文件上传
续传文件
java 大文件上传
从服务器加载文件列表
java 大文件上传
文件上传中
java 大文件上传
文件上传完毕
java 大文件上传
上传文件夹
java 大文件上传
与Discuz!X2整合-后台安装断点续传控件
java 大文件上传
与Discuz!X2整合-后台启用断点续传控件
java 大文件上传
与Discuz!X2整合-后台断点续传控件启用成功
java 大文件上传
与Discuz!X2整合-前台发帖页面
java 大文件上传
与Discuz!X2整合-上传
java 大文件上传

这个不错,我们公司几个内部系统都是用的这个控件。整合比较简单。难得可贵的是他们提供了许多已经整合好的示例,比如JSP和MySQL。我们的系统就是用的MySQL数据库。

#27


这个插件是收费的啊,好几千,好几万大洋呢

#28


引用 27 楼  的回复:
这个插件是收费的啊,好几千,好几万大洋呢

话说我们公司上个星期刚刚购买了这个控件。让开发人员搞,哪天开发人员离职了就没人管了。还不如直接买成熟的东西,这样技术支持也到位,别人已经把开发文档写好了,这样我们的技术人员就能够把更多的精力放在自已的业务开发这块。

#29


uplodify,可以显示上传进度。大文件本来就传得慢,这个没啥解决的。。

#30


找了半天都是这种决绝办法,还是继续试验吧!

#31


唉 怎么就没有免费的呢

#32


目前正遇到这方面的需求.....不知道大文件有什么好的控件呢?

#33


java 大文件上传
这个免费,去下载资源就能用了

#34


楼主,我把我的经验告诉你吧。
上个月公司要求我们部门做一个文件上传的功能,文件的大小一般是高于1G。与你说的500M差不多,如果文件大,HTTP上传不给力,掉线又得重传,所以必须要能断点上传才行。
基于BS架构的HTTP请求协议是不可能能实现断点续传的,所以要使用其他协议来进行。

推荐你看下JavaUploader免费开源的,是用applet实现的,需要签名才能在浏览器上用,支持断点。

#35


如果你不需要访问用户的硬盘文件,那你可以使用FTP上传,也支持断点。但只要你访问用户磁盘,又要支持断点,那必须要签名的。不然浏览器不知道你的身份。

#36


引用 33 楼 s478853630 的回复:
java 大文件上传
这个免费,去下载资源就能用了
java 大文件上传这个免费的你给个名字啊

#37


uploadify只是一般的上传插件……关键还是要靠后台……单靠web确实不行!

#38


Stream 上传插件(www.twinkling.cn)就是解决这种大文件上传的WEB插件。有JAVA版本的后台实现!