在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文实例讲述了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程序设计有所帮助。 |
请发表评论