Asp.net Download File 代码

public static void FileDownload(string FullFileName)

{

FileInfo DownloadFile = new FileInfo(FullFileName);

string conntentType = "";

switch (DownloadFile.Extension)

{

case ".asf":

conntentType = "video/x-ms-asf";

break;

case ".jpg":

case ".jpeg":

conntentType = "image/jpeg";

break;

case ".gif":

conntentType = "image/gif";

break;

case ".pdf":

conntentType = "application/pdf";

break;

case ".avi":

conntentType = "video/avi";

break;

case ".doc":

conntentType = "application/msword";

break;

case ".zip":

conntentType = "application/zip";

break;

case ".rar":

conntentType = "application/rar";

break;

case ".xls":

conntentType = "application/vnd.ms-excel";

break;

case ".wav":

conntentType = "audio/wav";

break;

case ".mp3":

conntentType = "audio/mpeg3";

break;

case ".mpg":

conntentType = "audio/mpeg";

break;

case ".rtf":

conntentType = "application/rtf";

break;

case ".htm":

case ".html":

conntentType = "text/html";

break;

case ".asp":

conntentType = "text/asp";

break;

default:

conntentType = "application/octet-stream";

break;

}

HttpContext.Current.Response.Clear();

HttpContext.Current.Response.ClearHeaders();

HttpContext.Current.Response.Buffer = false;

HttpContext.Current.Response.ContentType = conntentType;

HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + DownloadFile.Name);

HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;

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

HttpContext.Current.Response.WriteFile(FullFileName);

HttpContext.Current.Response.Flush();

HttpContext.Current.Response.End();

}