文件下载完成后,我们可以知道任何事件/方式吗?

这个问题已被问了很长时间,但我无法得到完美的答案来实施。 所以我再试一次。

假设您希望在从服务器完全下载文件时显示消息。 是的,有可能的方法来上传文件,甚至在下载时显示进度条,但是有没有特定的实例/信息/事件可以告诉下载何时完成?

我所知道的可能是它可以在cookie的帮助下实现。 但是怎么样?

从服务器请求文件时,从客户端向下载服务发送唯一密钥。

GET / Download?fileId = someId& cookieName = abc

当服务器完成文件内容的提供时,请设置具有唯一名称的cookie

var cookieName = Request.QueryString["cookieName"]; Response.Cookies.Add(new HttpCookie(cookieName , "true") { Path = "/", HttpOnly = false }); 

同时,在您的JavaScript中,使用您的唯一名称监听cookie,并在设置完成后,执行回调:

 window.setInterval(function () { var cookie = $.cookie('abc'); if (cookie !== null) { callback(); } }, 500); 

您可能还想在完成后查看删除cookie。