首页 新闻 赞助 找找看

关于flex和asp.net实现大文件断点上传的问题

0
悬赏园豆:50 [待解决问题]
我要实现的大文件分段上传,现在可以分段上传了,但是调用flex的FileReference的load方法去加载大文件(超过300mb)到内存,flash就会报错,error1000,内存不足.加载不了的话我就不能得到字节流也就不能分段上传了。现在怎么解决flex加载大文件到内存,内存不溢出呢,或许说提供另外一种思路去实现大文件分段上传到服务器?求大牛们帮助啊,谢谢啊!
问题补充:

求各位高人指点

编程小帆的主页 编程小帆 | 初学一级 | 园豆:152
提问于:2014-10-13 08:48
< >
分享
所有回答(2)
0

鉴于在这儿提问的很多人不会使用Google,或者错误估计问题的难度。我就不多说了,直接上URL

1、Web上传大文件的三种解决方案

2、PHP如何上传1G以上的文件?

3、超大文件上传(10G) [问题点数:100分]

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-13 11:25

好的,大叔,我先看看,我都是百度,谷歌上搜问题解决方案跟百度不同的么

支持(0) 反对(0) 编程小帆 | 园豆:152 (初学一级) | 2014-10-13 11:30

大叔你好,你的url链接对我来说没有什么参考价值。我现在是涉及到具体的步骤了,需要的是对问题的分析,而不是泛泛而谈

支持(0) 反对(0) 编程小帆 | 园豆:152 (初学一级) | 2014-10-13 11:38
0

浏览器端上传大文件,要么flash控件、要么silverlight控件、要么自己写个控件,你说的300M内存满了,那就把阀值调大一点。你如果不满意这么做,鉴于你用的.net,可以考虑用silverlight写个上传控件,文件流初始化的时候不需要所占内存与文件大小无关,所占的内存仅与你每次需要上传的块的大小有关。

例如,代码:

            FileStream fs = new FileStream(@"e:\office2013\cn_office_professional_plus_2013_x86_x64_dvd_1149708.iso", FileMode.Open);

            int bufferLength = 1042 * 8;             byte[] buffer = new byte[bufferLength];             fs.Read(buffer, 0, bufferLength);

这个iso文件有1.6GB,但是你上传的时候所占内存仅与bufferLength有关。

silverlight在浏览器端是允许你用c#操作文件的。后面的你懂的。

Tony二师弟 | 园豆:204 (菜鸟二级) | 2014-10-24 17:16

您好,这是浏览器上传,所以我想客户电脑内存加载300MB及以上是不能接受的。Silverlight又要客户端安装.net框架。所以我准备ie9以下浏览器用ActiveX插件,其他浏览器用html5上传。谢谢您的回答。

支持(1) 反对(0) 编程小帆 | 园豆:152 (初学一级) | 2014-10-24 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册