ASP.NET 简单下载的实现_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|系统之家|纯净系统

您当前所在位置:首页网络编程.Net编程 → ASP.NET 简单下载的实现

ASP.NET 简单下载的实现

时间:2015/6/28来源:绿色软件之家作者:网管联盟我要评论(0)

  简单页面下载通过Response.WriteFile()函数将指定的文件直接写入HTTP内容输出流。该方 法实现比较简单,本例中通过函数FileDownload()实现文件的下载,代码如下:

  private void FileDownload(string FullFileName)

  {

  FileInfo DownloadFile = new FileInfo(FullFileName);

  Response.Clear();

  Response.ClearHeaders();

  Response.Buffer = false;

  Response.ContentType = "application/octet-stream";

  Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));

  Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());

  Response.WriteFile(DownloadFile.FullName);

  Response.Flush();

  Response.End();

  }

  由于在代码中使用了 FileInfo 类,必须在代码的开始引用 System.IO 空间,引用代码如下所示。

  using System.IO;

  FileInfo 类提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建FileStream对象。其中,Length属性用来获取当前文件的大小,FullName 属性获取目录或文件的完整目录。

  FileDownload()函数实现的原理过程是,首先创建FileInfo类,通过该类获取要下载文件的信息,最后通过 WriteFile()函数下载该文件。该方法面临的问题是 WriteFile 方法使文件的二进制数据流向客户端,它是一个出名的内存占用狂,把整个文件载入服务器的RAM中来提供服务(实际上它甚至于会占用文件两倍大小的空间)。对于大文件,这会引起服务内存问题,并且可能重复ASP.NET过程。因此较大文件均使用高级下载方法。

关键词标签:ASP.NET

相关阅读

文章评论
发表评论

热门文章 手把手教你用好LINQ to SQL手把手教你用好LINQ to SQL在.NET环境下为网站增加IP过滤功能在.NET环境下为网站增加IP过滤功能ASP.NET 如何避免页面重新整理时重复送出ASP.NET 如何避免页面重新整理时重复送出用Asp.net扩展ExtJS用Asp.net扩展ExtJS

相关下载

人气排行 asp.net表单提交方法GET\POST在ASP.NET中如何判断用户IE浏览器的版本Asp.net中messagebox的实现方法Asp.net中的web.config配置在ASP.NET MVC中实现大文件异步上传用Iformattable接口控制.Net中文本格式c#.Net经典面试题目用Asp.net扩展ExtJS