请教SpringMVC 上传超大文件,提交后,页面直接提示打开网络链接失败

请问SpringMVC 上传超大文件,提交后,页面直接提示打开网络链接失败。
本帖最后由 Javainging 于 2015-04-04 16:17:26 编辑
请问SpringMVC 上传超大文件,提交后,也,页面直接提示打开网络链接失败。

请问是神马情况啊?

配置文件里面限制的是4GB,我实际上传的是2G 文件。

提交后 页面直接显示不了。后台也不报错。
------解决思路----------------------
引用:
请问SpringMVC 上传超大文件,提交后,也,页面直接提示打开网络链接失败。

请问是神马情况啊?

配置文件里面限制的是4GB,我实际上传的是2G 文件。

提交后 页面直接显示不了。后台也不报错。
传统的HTML上传方式难已满足超大文件的上传需求,因为使用传统HTML方式向服务器上传超大文件时,浏览器会建立一个连接,然后通过这个SOCKET连接向服务器POST数据。流程是没有问题,但是在国内由于许多地区的网络环境不稳定,同时速度也不快,这就导致浏览器建立的这个边接容易断开,或者是超时。比如你是广州联通网速是10KB/S,你向北京电信服务器上传数据,这速度肯定非常慢,因为跨网了,电信的网相互访问就快,而服务器不可能为你这一个用户等待这么长时间,因为这个连接资源是非常宝贵的。最好的方式是一个用户请求服务器只需要5秒,这样服务器的并发访问量才会比较大,同时能够处理的用户请求就越多。

第二个问题,如果用户上传1G的文件,现在已经上传了500MB,但是突然断网了,那么你让用户再重新上传前面的500MB吗?假设用户的网速是100KB/S,那么用户需要花1.4小时来重传前面的500MB。如果是这样的话,估记用户是无法接受的。

第三个问题,无论你是用原始HTML方式(即Form表单方式)上传还是使用Flash控件上传服务端都会分配一个与客户端相同大小的内存。比如用户上传的是1G,那么服务端就会分配1G内存,如果用户上传的是5G,那么服务端也会分配5G。那么假设10G个用户同时上传5G文件,那么服务端就需要至少50G内存。一般的服务端这时就会由于内存不足而崩溃掉。

------解决思路----------------------
引用:
请问SpringMVC 上传超大文件,提交后,也,页面直接提示打开网络链接失败。

请问是神马情况啊?

配置文件里面限制的是4GB,我实际上传的是2G 文件。

提交后 页面直接显示不了。后台也不报错。
普通方式上传超大文件失败率非常高,也就只能在本机测试时看下效果。在网络环境中基本上无法使用。建议使用控件来实现这个需求。
------解决思路----------------------
引用:
请问SpringMVC 上传超大文件,提交后,也,页面直接提示打开网络链接失败。

请问是神马情况啊?

配置文件里面限制的是4GB,我实际上传的是2G 文件。

提交后 页面直接显示不了。后台也不报错。
传大文件得用控件来做,或者用HTML5。比如QQ邮箱,360网盘,他们都是使用控件来传文件的。