ASP.Net下载大文件的实现方法 |
本文实例讲述了ASP.Net下载大文件的实现方法 。分享给大家供大家参考 。具体分析如下: 当我们的网站需要支持下载大文件时,如果不做控制可能会导致用户在访问下载页面时发生无响应,使得浏览器崩溃 。可以参考如下代码来避免这个问题 。 关于此代码的几点说明: 1. 将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据 。 2. 根据下载的文件类型来指定 Response.ContentType 。(参考OSChina的这个网址可以找到大部分文件类型的对照表:http://tool.oschina.net/commons) 3. 在每次写完response时记得调用 Response.Flush() 4. 在循环下载的过程中使用 Response.IsClientConnected 这个判断可以帮助程序尽早发现连接是否正常 。若不正常,可以及早的放弃下载,以释放所占用的服务器资源 。 5. 在下载结束后,需要调用 Response.End() 来保证当前线程可以在最后被终止掉 。 复制代码 代码如下: using System; 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]; Response.End(); 希望本文所述对大家的asp.net程序设计有所帮助 。 |