Path = IO.Path.Combine(Path, FileName)
            myFileInfo = New FileInfo(Path)
            FileSize = myFileInfo.Length
            EndPos = FileSize
            HttpContext.Current.Response.Clear()
            HttpContext.Current.Response.ContentType = SWGeneral.GetContentType(FileName)
            HttpContext.Current.Response.AddHeader("Content-disposition", "attachment; filename=" & myFileInfo.Name)
            HttpContext.Current.Response.WriteFile(Path, StartPos, EndPos)
            HttpContext.Current.Response.End()例如我的文件名称是 111 222 333.rar 那么在Firefox下载的时候是 111 被空格截断了.请问朋友们如何解决这个问题.

解决方案 »

  1.   

    Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode((myFileInfo.Name), System.Text.Encoding.UTF8));
      

  2.   


    您好,朋友这个方式我用过,在Firefox在空格会转换成 "+" 号 最终显示结果是 111+222+333.rar请问还有别的方法吗?我想让他显示111 222 333.rar
      

  3.   

    string UserAgent = Request.ServerVariables["http_user_agent"].ToLower(); 
    string FileName = ""; 
    if(UserAgent.IndexOf("firefox") == -1) 
        FileName = HttpUtility.UrlEncode(FileName, Encoding.UTF8); 
    Response.AppendHeader("content-type", "application/octet-stream"); 
    Response.AppendHeader("Content-Disposition", "attachment;filename="+FileName); 
    Response.WriteFile(DownloadFile.FullName); 
    Response.Flush(); 
    Response.End();