很多时候一个网站是需要对文件下载进行管理的,不是任何人都允许下载的,但是如何实现下载的管理呢,下载先从最简单的下载开始给大家看看。大部分的下载都是在此基础上添加权限的管理的。
简单页面下载通过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 程序设计基础篇 作者:林煌章 出版日期:2001/6/15
书 名:ASP.NET 程序设计基础篇 出版日期:2001/06/15 书 号:957-2085-72-7 I S B N:957-2085-72-7 原 作 者:林煌章
asp .net 网页设计基础篇 网页制作菜鸟的私房菜
asp.net 程序设计基础篇
ASP.NET程序设计基础篇 pdf 分享。
ASP.NET程序设计基础篇ASP.NET程序设计基础篇
ASP.NET 程序设计基础篇(PDF)
asp.net程序设计基础篇,一本不错的入门级教材,有兴趣的朋友可以看看哦
ASP.Net程序设计基础篇
ASP.NET 程序设计基础篇. ASP.NET 程序设计基础 技巧等
介绍asp.net语言,介绍了VB.net语言