none
棘手:页面打开文件? RRS feed

  • 问题

  • 各位老师:

    我的程序中有个页面打开后需要直接打开一个Word文件供用户下载使用:我的代码如下:

    页面1、notify.aspx

     <asp:LinkButton ID="LinkButton3" runat="server" OnClick="LinkButton3_Click">写入文件,并打开</asp:LinkButton>

      protected void LinkButton3_Click(object sender, EventArgs e)
        {
            string url = string.Empty;
            url = "window.open('notify_write.aspx','_blank','height=300, width=400, top=100,left=200, toolbar=no, menubar=no, scrollbars=1, resizable=1,location=no, status=no');";
            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.Page.GetType(), "kskkd", url, true);
        }

     

    页面二、notify_write.aspx

    在页面二打开时,首先写入服务器中文件,写入完后,用户手动点击‘下载’链接下载文件,这样是可以的

    但是客户要求写入文件成功后不用点击‘下载’就直接打开刚保存的文件供用户下载

    这个该怎么实现呢?

    还请各位老师指点。谢谢


    msdn
    2010年10月27日 13:52

答案

  •  protected void LinkButton3_Click(object sender, EventArgs e)
    {  
      string fileName="yaoxuemin.txt"; \\ 保存的文件名
      string dir =@"c:\aa.txt" ; \\ 文件路径
      long size = 10;
      Response.AddHeader("content-type", "application/x-msdownload;");
       Response.AddHeader("Content-Disposition","attachment;filename="+fileName); 
      Response.AddHeader("content-length",size.ToString()); 
      Response.WriteFile(dir,0,size);
      Response.Flush();
      Response.End();
    
    }
    试试这个方法,应该没有什么问题的。
    
    2010年10月28日 8:36