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();
    }

posted on 2007-09-21 14:12  沉默的心  阅读(292)  评论(0编辑  收藏  举报