asp.net – 从.net应用程序下载4GB文件
我的要求是从.net应用程序上传4GB文件并从.net application下载相同的文件.我们可以使用.net应用程序上传和下载4GB文件.
因此,要上传4GB文件,我们已经拆分了4GB文件,在下载时我们使用C#中的FileStream对象合并了该文件. 现在,当我从.net应用程序中单击“下载”按钮时,我可以将文件保存在客户端计算机中.但是保存文件流对象时会写入字节字节并将文件保存到用户的计算机.这需要更多时间将文件保存到客户端机器.即使是100MB文件,它需要节省大约2小时.所以如果我节省4GB,将需要很长时间. 什么是提高速度的最佳方法. 我无法使用asp .net下载代码下载4GB文件.所以我们遵循分裂方法. 上传时我的代码: FileStream foption = new FileStream(strFileName,FileMode.Open); len = foption.Length; eachSize = (int)Math.Ceiling((double)len / x); foption.Close(); FileStream inFile = new FileStream(strFileName,FileMode.OpenOrCreate,FileAccess.Read); for (int i = 0; i < x; i++) { FileStream outFile = new FileStream(strDir + "" + i + ".zip",FileAccess.Write); int data = 0; byte[] buffer = new byte[eachSize]; if ((data = inFile.Read(buffer,eachSize)) > 0) { outFile.Write(buffer,data); } outFile.Close(); } 下载时我的代码 FileStream outFile = new FileStream("\" + clientIPAddress + "uploadoutput.zip",FileAccess.Write); for (int i = 0; i < 10; i++) { int data = 0; byte[] buffer = new byte[4096]; FileStream inFile = new FileStream(strMediaPath + "" + i + ".zip",FileAccess.Read); while ((data = inFile.Read(buffer,4096)) > 0) { outFile.Write(buffer,data); } inFile.Close(); } outFile.Close(); 谢谢 解决方法
我没有看到首先拆分文件的重点,你所做的只是保证在传输结束时另一个慢速磁盘复制操作来连接文件.
不拆分文件将要求第一个代码块中的i是long而不是int.自签名以来,32位整数将以2GB的速度输出. 最后,你的缓冲区应该更大. 4k是我的第一台TRS-80计算机所拥有的,这是在循环中读取和写入的一小部分数据.尝试更实质的东西,比如1MB. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-web-api – ASP.NET核心WebAPI 404错误
- asp.net-mvc-2 – 前端控制器,页面控制器?
- 从ASP.NET WebForms迁移到ASP.NET MVC
- asp.net-mvc-3 – Orchard CMS小部件显示类型
- ASP.NET连接字符串加密/保护
- ASP.NET Ajax控件套件与JQuery
- .net – 带有数据绑定控件的“无效的回发或回调参数”
- 在ASP.NET MVC中使用“RadioButtonList”和“CheckBoxList”
- ASP.NET 微软Web应用示例程序走廊-项目解决方案
- asp.net-mvc – 你可以使用Visual Studios代替Web Matrix f
- asp.net-mvc – 如何告诉Resharper查看部分视图的
- asp.net-mvc – 从Azure网站取消发布MVC 4项目
- asp.net实现大视频上传
- asp.net – 会话状态超时与空闲超时
- asp.net – webservice和web应用程序有什么区别?
- .net core下验证码及二维码登录的实现
- asp.net-mvc-3 – 在MVC中的Http Post之后渲染相
- asp.net-mvc-3 – MVC3 – 使用ViewModel插入 –
- asp.net – Ajax.ActionLink调用控制器两次
- asp.net-mvc-3 – ASP.NET MVC 3,RavenDB和Autof