【发布时间】:2015-07-31 15:43:49
【问题描述】:
我有这个功能可以正常工作。调用时 - 它会在我的浏览器的下载文件夹中创建一个文件:
private void gvLots_Export(string fileName)
{
Response.Clear();
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName );
Response.ContentType = "text/plain";
Response.Write(fichierExport.Contenu);
Response.End();
}
但是现在,我需要在该文件正确添加到下载文件夹后刷新页面。我试过这个:
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName );
Response.ContentType = "text/plain";
Response.Write(fichierExport.Contenu);
Response.End();
Response.Redirect(Request.RawUrl);
但是,由于明显的原因,它不起作用:标头已发送,您无法在 Response.End() 之后重定向。
我尝试将一个变量添加到可以由 Resquest["stop"] 检索的标头中(如下所示):
Response.AppendHeader("content-disposition", "?stop=true&" + "attachment; filename=" + fichierExport.NomFichier );
但这些结果更糟。它不会刷新页面或下载任何内容,但它会显示我试图下载到浏览器中的文件的内容......甚至可以下载一些东西并在相同的功能中刷新页面......没有必须要求客户按下 2 个不同的按钮?
【问题讨论】:
-
我注意到的第一件事是你的标题看起来像
content-disposition: ?stop=trueattachment; filename=somefile.ext