客户端文件的下载

 public void download(string filename)
    {
       
        string path = Server.MapPath(filename);
        if (!System.IO.File.Exists(path))
        {
            Response.Write("对不起!文件不存在!!");
            return;
        }
        System.IO.FileInfo file = new System.IO.FileInfo(path);
        //string fileFilt = ".asp|.aspx|.php|.jsp|.ascx|.config|.asa|......";  //不可下载的文件,务必要过滤干净
        string tempFileName = file.Name;
        string fileExt = tempFileName.Substring(tempFileName.LastIndexOf(".")).Trim().ToLower();
        //if (fileFilt.IndexOf(fileExt) != -1)
        //{
        //    Response.Write("对不起!该类文件禁止下载!!");
        //}
        //else
        //{
            Response.Clear();
            Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(tempFileName));
            Response.AddHeader("Content-Length", file.Length.ToString());
            Response.ContentType = checktype(HttpUtility.UrlEncode(fileExt));
            Response.WriteFile(file.FullName);
            Response.End();
       // }
    }
    ///
    /// 下载类型
    /// fileexp">文件扩展名
    ///
    private string checktype(string fileExt)
    {
        string ContentType;
        switch (fileExt)
        {
            case ".asf":
                ContentType = "video/x-ms-asf"; break;
            case ".avi":
                ContentType = "video/avi"; break;
            case ".doc":
                ContentType = "application/msword"; break;
            case ".zip":
                ContentType = "application/zip"; break;
            case ".xls":
                ContentType = "application/vnd.ms-excel"; break;
            case ".gif":
                ContentType = "image/gif"; break;
            case ".jpg":
                ContentType = "image/jpeg"; break;
            case "jpeg":
                ContentType = "image/jpeg"; break;
            case ".wav":
                ContentType = "audio/wav"; break;
            case ".mp3":
                ContentType = "audio/mpeg3"; break;
            case ".mpg":
                ContentType = "video/mpeg"; break;
            case ".mepg":
                ContentType = "video/mpeg"; break;
            case ".rtf":
                ContentType = "application/rtf"; break;
            case ".html":
                ContentType = "text/html"; break;
            case ".htm":
                ContentType = "text/html"; break;
            case ".txt":
                ContentType = "text/plain"; break;
            default:
                ContentType = "application/octet-stream";
                break;
        }
        return ContentType;
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值