ASP.Net下载大文件的实现方法
|
本文实例讲述了ASP.Net下载大文件的实现方法。分享给大家供大家参考。具体分析如下: 当我们的网站需要支持下载大文件时,如果不做控制可能会导致用户在访问下载页面时发生无响应,使得浏览器崩溃。可以参考如下代码来避免这个问题。 关于此代码的几点说明: 1. 将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据。 2. 根据下载的文件类型来指定 Response.ContentType 。(参考OSChina的这个网址可以找到大部分文件类型的对照表:http://tool.oschina.net/commons) 3. 在每次写完response时记得调用 Response.Flush() 4. 在循环下载的过程中使用 Response.IsClientConnected 这个判断可以帮助程序尽早发现连接是否正常。若不正常,可以及早的放弃下载,以释放所占用的服务器资源。 5. 在下载结束后,需要调用 Response.End() 来保证当前线程可以在最后被终止掉。 复制代码 代码如下: namespace WebApplication1 // Buffer to read 10K bytes in chunk: // Length of the file: // Total bytes to read. // Identify the file to download including its path. // Identify the file name. try // Total bytes to read. Response.Clear(); // Read the bytes. // Write the data to the current output stream. // Flush the data to the HTML output. buffer = new Byte[10000]; (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC与Webforms:替换WebForms控件
- asp.net-mvc-3 – MVC3剃须刀:是否可以渲染传统的ASCX?
- asp.net-mvc – ASP.Net [HiddenInput]数据属性在Razor中用
- asp.net Gridview,1记录跨度两行
- asp.net-mvc – MVC错误 – 传入字典的模型项目的类型为“S
- 如何在asp.net中更改javascript警告框的标题?
- asp.net – VB.NET – 如何使用Active Directory将SID转换为
- asp.net-mvc – ASP.NET MVC如何在生产中禁用调试路由/视图
- asp.net – 为什么Global.asax事件在我的ASP.NET网站没有触
- asp.net-mvc – 尝试创建类型为’TypeNewsController’的控
