private void Page_Load(object sender, System.EventArgs e)
{
System.IO.FileInfo file = new System.IO.FileInfo(@"d:\webdisk\admin\log1.gif");
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();
}打开页面的时候弹出保存文件对话框,不论点打开还是保存都不行,错误如下:Internet Explorer 无法下载FileOpen.aspx 来自192.168.0.1
Internet Explorer 无法打开该站点。请求的站点不可用,或找不到。请以后再试。

解决方案 »

  1.   

    savePath=Server.MapPath(savePath);
    Response.ContentType = "application/ms-download";
    System.IO.FileInfo file = new System.IO.FileInfo(s_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.ContentType = "application/ms-download";
    这个没有,还有看看放开权限行不行,
      

  3.   

    Response.AppendHeader("Content-Disposition","attachment;filename=down.gif");
      

  4.   

    Response.ContentType = "application/ms-download";
    这个没有,还有看看放开权限行不行,怎样放开权限?
      

  5.   

    你看下载的文件夹里是否指定有IUSR_YOUNAME 用户的读权限
      

  6.   

    我新建了一个fileup工程,里面随便建一个文件都可以下在,代码跟原来的一样
    System.IO.FileInfo file = new System.IO.FileInfo("D:\\TWAIN.DLL");
    Response.Clear();
    Response.AddHeader("Content-Type", "application/octet-stream");
    Response.Charset = "utf-8";
    Response.ContentType = "application/unknown";
    Response.AddHeader ("Content-Disposition",string.Format("attachment;filename=\"{0}\"",  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();
    在弹出文件下载页面的时候显示:
    文件名:TWAIN.DLL
    文件类型:应用程序扩展
    来源:localhost可是在现在的工程里面就是不行,在弹出文件下载页面的时候,文件名显示不了
    文件名:WebForm1.aspx
    文件类型:
    来源:localhost这是为什么
      

  7.   

    找到问题了,我以前在Global里添加了
    protected void Application_BeginRequest(Object sender, EventArgs e)
    {
    HttpContext.Current.Response.Cache.SetNoStore();  
    }删掉HttpContext.Current.Response.Cache.SetNoStore();  就可以了但是怎样才能清除缓存而不影响文件下载呢
      

  8.   

    winxp sp2 用这一段好象会有问题