Page.Response.AddHeader("Content-Disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode("附件1.txt",System.Text.Encoding.UTF8));这样的格式下载文件会是中文的但某些机器 下载是 当弹出 (打开,保存)确认下载对话框时 点保存时会出现请求的站点不可用或找不到的 错误信息 (这种错误仅仅在少数机器上有)能说明下解决的方法吗? 知道的顺便说明下错误原因 
(使用Encoding.Default的话下载,可以但是文件名是乱码不够完美)

解决方案 »

  1.   

    Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(FileName));试试这个
      

  2.   

    我这里也有一台机器是这样的,不过好向跟System.Web.HttpUtility.UrlEncode无关,
      

  3.   

    To: hl80(代码) System.Web.HttpUtility.UrlEncode 我已经用了
      

  4.   

    问题应该出在这里吧,如果对的话,一定要给我加分,现在穷得很<a href='<%#"sd_send_mail.aspx?file_name="+System.Web.HttpUtility.UrlEncode(DataBinder.Eval(Container, "DataItem.LogName").ToString()) %>'>sss</a>
      

  5.   

    也就是说 a href 是对的
      

  6.   

    (使用Encoding.Default的话下载,可以但是文件名是乱码不够完美)
    去掉ie选项中的:总是以 UTF-8 发送url应该可以吧
      

  7.   

    晕 To: jeeryqi(至尊宝) 用户可不会说给你设置IE :)
      

  8.   

    To: chentaoyql(新的一天) 软件总有个运行环境限制吧
      

  9.   

    谢谢你的提醒。我的改过之后基本上没有问题了。
    string fileName = Request.PhysicalApplicationPath +"UpFile\\"+ e.Item.Cells[1].Text;
    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();
      

  10.   

    Page.Response.AddHeader("Content-Disposition","attachment;filename=" + System.Web.HttpUtility.UrlEncode("附件1.txt",System.Text.Encoding.GetEncoding("GB2312")));
      

  11.   

    再测试下To: jeeryqi(至尊宝)
    软件总有个运行环境限制吧///////////////////////////WEB的想法就是尽量脱离运行环境