我在服务器生成了一个Report.pdf文件,然后就重定向指向这个文件。
在IE上就自动的打开了这个文件。有什么办法不要在IE中打开这个文件,直接打开下载保存的对话框下载吗?

解决方案 »

  1.   

    Response.Write("<script language='javascript'>window.open('" +fileName +"','_blank')</script>");
      

  2.   

    string path = Server.MapPath("Global.asax"); System.IO.FileInfo file = new System.IO.FileInfo(path);
    Response.Clear();
    Response.Charset="GB2312";
    Response.ContentEncoding=System.Text.Encoding.UTF8;
    // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
    Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
    // 添加头信息,指定文件大小,让浏览器能够显示下载进度
    Response.AddHeader("Content-Length", file.Length.ToString());

    // 指定返回的是一个不能被客户端读取的流,必须被下载
    Response.ContentType = "application/ms-excel";

    // 把文件流发送到客户端
    Response.WriteFile(file.FullName);
    // 停止页面的执行

    Response.End();