怎么可以下载具有中文文件名的文件???

解决方案 »

  1.   

    public void DownFile(string fileName)
    {
    System.IO.FileInfo file = new System.IO.FileInfo(fileName);
    Response.Clear();
    Response.AddHeader("Content-Type", "application/octet-stream");
    Response.Charset = "utf-8";
    Response.AddHeader("Content-Disposition", "attachment;filename="+System.Web.HttpUtility.UrlEncode(file.Name,System.Text.Encoding.UTF8));
    Response.AddHeader("Content-Length", file.Length.ToString());
    Response.WriteFile(file.FullName);
    Response.Flush(); 
    Response.Clear();
    Response.End();
    }
      

  2.   

    Response.Charset = "utf-8";
    Response.AddHeader("Content-Disposition", "attachment;filename="+System.Web.HttpUtility.UrlEncode(file.Name,System.Text.Encoding.UTF8));这里是编码
      

  3.   

    filename="+System.Web.HttpUtility.UrlEncode(file.Name,System.Text.Encoding.UTF8));
    此处的 filename 就是文件下载时 默认的下载文件名称。