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 – ASP MVC – 默认的HTTP标头有任何常量吗?
- asp.net-mvc – 为什么在ASP.NET MVC中使用lambdas而不是反
- asp.net-mvc – 如何设置AntiForgeryToken cookie路径
- .NET 3.5 / VS 2008上的ASP.NET Web Services的自定义HTTP基
- asp.net-mvc – 使用mvc的主要目的
- 有没有办法加快asp.net中的编辑 – 编译 – 调试周期?
- asp.net-mvc – MVC应用程序中的随机数生成
- asp.net-mvc – Nhibernate / MVC:在View中处理延迟加载的
- ADO.NET实用经验 转载
- asp.net – 如何MSDeploy构建的网站包到一个处女IIS网站