在我们的一个项目中,我们需要将文件从服务器下载到客户端位置的功能。
为此,我们使用 ashx 处理程序来执行操作。它运行良好,我们能够下载文件。
现在我们需要一个要求,比如我们需要在下载开始和完成时更新一个字段。有没有办法做到这一点。
单击下载链接后,将出现另存为对话框,之后我认为我们无法控制检查进度。我认为我们甚至不知道点击了哪个按钮,即我们不知道用户点击的是“是”还是“否”。
谁能建议一种方法来了解下载何时开始以及何时完成?我们正在使用带有 c# 的 Asp.Net 2.0。
用于下载的处理程序如下所示
string fileUrl = string.Empty;
if (context.Request["fileUrl"] != null)
{
fileUrl = context.Request["fileUrl"].ToString();
}
string filename = System.IO.Path.GetFileName(fileUrl);
context.Response.ClearContent();
context.Response.ContentType = "application/exe";
context.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", filename));
context.Response.TransmitFile(fileUrl);
context.Response.Flush();
该文件是从 aspx 页面方法下载的,例如
private void DownloadExe()
{
string downloadUrl = "Test.exe");
Response.Redirect("Test.ashx?fileUrl=" + downloadUrl, false);
}