发送要下载的文件后显示消息

本文关键字:显示 消息 文件 下载 | 更新日期: 2023-09-27 17:58:49

我想在发送要下载的文件后更新aspx页面上的某些内容。(之前显示了一些错误消息。)。我认为这是不可能的,但你能给我一个解决方案吗?

以下是发送文件下载的代码:

  Response.ContentType = "Application/zip";
  Response.AddHeader("Content-Disposition", "attachment; filename=" + e.CommandArgument);
  Response.BinaryWrite(fileStream.ToArray());
  Response.Flush();
  Response.Close();
  Response.End();

编辑澄清:我也认为没有合乎逻辑的解决方案。然而,可能有一个我不知道的Javascript技巧。

发送要下载的文件后显示消息

这是我能想到的最简单的方法。

<a href="Default.aspx?download=1"
    onclick="javascript:document.write('the file was downloaded');" >
    Click here to Download
</a>

在我的代码后面我有

protected void Page_Load(object sender, EventArgs e)
{
    if(Request["download"]=="1")
    {
        try
        {
            Response.ContentType = "html/text";
            Response.AddHeader("Content-Disposition", "attachment; filename=file.txt");
            Response.Write("content of the file");
            Response.Flush();
            Response.Close();
            Response.End();
        }
        catch (Exception)
        {
            //An error occurred
            Response.Redirect("Error.aspx");
        }
    }
}

由于它只是一个链接,如果找不到文件,浏览器将显示"未找到"。如果服务器端出现错误,则重定向到错误页面。如果您想要更详细的解决方案,我建议您使用XMLHttpRequest。