Asp.Net下载方法 参考
(1) 首先做成下载文件。
。。。 。。。
(2) 做成下载文件的路径以及文件名用session传递给打开页面
Session["FILE_PATH"] = 路径 + "DownLoadFile.txt";
Session["FILE_NAME"] = "DownLoadFile.txt";
(3) 打开新窗体(新窗体用于出力下载文件,窗体无需添加任何Html)
System.Web.UI.ScriptManager.RegisterStartupScript(Page,
this.GetType(),
"open",
"window.open('Download.aspx',null,'toolbar=0,location=no,directories=0," + "status=0,scrollbars=no,width=1px,height=1px');", true);
※注意 用于打开新窗体的按钮不要放到UpdatePannel控件中(或者设置出力按钮控件属性可以提交全页面)
(4) 新窗体中(Download.aspx)
新窗体直接在Page_load中加入代码
根据前画面传递来的session值来定位文件,出力
protected void Page_Load(object sender, EventArgs e)
{
string strFilePath = Session["FILE_PATH"].ToString();
string strFileName = Session["FILE_NAME"].ToString();
Response.AppendHeader("Content-Transfer-Encoding", "base64");
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(strFileName));
Response.Flush();
Response.WriteFile(strFilePath);
Response.End();
}