java webservice上传大文件

时间:2022-12-03 17:22:20
webservice上传文件,我用byte[]进行传递,没有问题,但是文件过大就不行了,读出来的数组太大造成内存溢出,
这个大文件上传有什么好的方式

9 个解决方案

#1


 直接传文件??可以传文件的url

#2


这个要借助于第三方控件来实现超大文件的上传了。普通的方式肯定不行。因为你上传100MB的文件,服务器就得为你分配100MB的内存。人数一多,肯定内存溢出了。

#3


传统的HTML方式已经难已满足超大文件的上传。别说是100MB,50MB对服务器来说都是非常大的,服务不仅要专门开一个链接等待这个文件上传完毕,还要分配同等大小姐的内存来保存这个文件对服务器来讲压力相当的大。就算是用Flash也不行,因为目前的Flash不支持断点续传操作,也不支持文件分块操作,Flash和传统的HTML方式上传原理一样。用Flash上传100MB图片,服务器也要分配100MB的内存。10个用户同时上传100MB数据的话,就要吃掉服务器1G的内存。
向QQ邮箱中的超大附件上传功能,115网盘中的超大附件上传控件,华为网盘(DBank),金山快盘他们都是使用控件来实现超大文件上传功能的。这样做主要是减轻服务器压力,节省服务器内存,同时提高用户体验。

#4


我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:
java webservice上传大文件
文件MD5值计算完毕
java webservice上传大文件
服务器根据MD5检测是否存在相同文件
java webservice上传大文件
续传文件
java webservice上传大文件
从服务器加载文件列表
java webservice上传大文件
文件上传中
java webservice上传大文件
文件上传完毕
java webservice上传大文件
上传文件夹
java webservice上传大文件
与Discuz!X2整合-后台安装断点续传控件
java webservice上传大文件
与Discuz!X2整合-后台启用断点续传控件
java webservice上传大文件
与Discuz!X2整合-后台断点续传控件启用成功
java webservice上传大文件
与Discuz!X2整合-前台发帖页面
java webservice上传大文件
与Discuz!X2整合-上传
java webservice上传大文件

#5


引用 4 楼  的回复:
我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续传控件

与Discuz!X2整……

这个看起来不错。公司最近在做一个项目也有大文件断点续传的需求。正好用到,能否把地址发一下。谢谢。

#6


引用 5 楼  的回复:
引用 4 楼  的回复:

我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续传控……

网上可以直接搜到。 http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html

#7


引用 6 楼  的回复:
引用 5 楼  的回复:

引用 4 楼  的回复:

我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discu……

我们做了一个设计行业的论坛,其中会员上传超大资源文件(一般都是500MB)就是用的Xproer.HttpUploader3这个控件。用户体验不错。

#8


可以分段传啊,一次性传肯定会挂

#9


   如何调用相关控件发送超大附件呢?

#1


 直接传文件??可以传文件的url

#2


这个要借助于第三方控件来实现超大文件的上传了。普通的方式肯定不行。因为你上传100MB的文件,服务器就得为你分配100MB的内存。人数一多,肯定内存溢出了。

#3


传统的HTML方式已经难已满足超大文件的上传。别说是100MB,50MB对服务器来说都是非常大的,服务不仅要专门开一个链接等待这个文件上传完毕,还要分配同等大小姐的内存来保存这个文件对服务器来讲压力相当的大。就算是用Flash也不行,因为目前的Flash不支持断点续传操作,也不支持文件分块操作,Flash和传统的HTML方式上传原理一样。用Flash上传100MB图片,服务器也要分配100MB的内存。10个用户同时上传100MB数据的话,就要吃掉服务器1G的内存。
向QQ邮箱中的超大附件上传功能,115网盘中的超大附件上传控件,华为网盘(DBank),金山快盘他们都是使用控件来实现超大文件上传功能的。这样做主要是减轻服务器压力,节省服务器内存,同时提高用户体验。

#4


我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:
java webservice上传大文件
文件MD5值计算完毕
java webservice上传大文件
服务器根据MD5检测是否存在相同文件
java webservice上传大文件
续传文件
java webservice上传大文件
从服务器加载文件列表
java webservice上传大文件
文件上传中
java webservice上传大文件
文件上传完毕
java webservice上传大文件
上传文件夹
java webservice上传大文件
与Discuz!X2整合-后台安装断点续传控件
java webservice上传大文件
与Discuz!X2整合-后台启用断点续传控件
java webservice上传大文件
与Discuz!X2整合-后台断点续传控件启用成功
java webservice上传大文件
与Discuz!X2整合-前台发帖页面
java webservice上传大文件
与Discuz!X2整合-上传
java webservice上传大文件

#5


引用 4 楼  的回复:
我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续传控件

与Discuz!X2整……

这个看起来不错。公司最近在做一个项目也有大文件断点续传的需求。正好用到,能否把地址发一下。谢谢。

#6


引用 5 楼  的回复:
引用 4 楼  的回复:

我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discuz!X2整合-后台启用断点续传控……

网上可以直接搜到。 http://www.cnblogs.com/xproer/archive/2012/02/17/2355440.html

#7


引用 6 楼  的回复:
引用 5 楼  的回复:

引用 4 楼  的回复:

我们公司是用的Xproer.HttpUploader3这个控件
文件MD5值计算进度:

文件MD5值计算完毕

服务器根据MD5检测是否存在相同文件

续传文件

从服务器加载文件列表

文件上传中

文件上传完毕

上传文件夹

与Discuz!X2整合-后台安装断点续传控件

与Discu……

我们做了一个设计行业的论坛,其中会员上传超大资源文件(一般都是500MB)就是用的Xproer.HttpUploader3这个控件。用户体验不错。

#8


可以分段传啊,一次性传肯定会挂

#9


   如何调用相关控件发送超大附件呢?