我页面上的一个按钮调用一个返回文件的控制器方法,如下所示:
// Update number of downloads in database
// Return the file
return File(filedata, contentType);
在视图中,此按钮定义为:
<img onclick="location.href ='@Url.Action("DownloadVersion", new { fileVersionId = version.FileVersionId })'" src="@Url.Content("~/Images/download.png")", alt="Download" title="Download"/>
我的页面上需要一个元素,以便在下载开始后动态更新下载次数。目前我无法通知页面更新。目前我还没有看到这样做的方法。
我试过通过ajax调用控制器方法,所以我得到了成功和错误回调,但这似乎意味着浏览器从未真正下载过该文件(我在其他帖子中读过这似乎是一个限制AJAX)。
不幸的是,不能选择直接链接到该文件。下载必须通过控制器方法进行,以便用户无权访问文件URL路径(以检查是否有权下载它)。
这有可行的解决方案吗?
答案 0 :(得分:0)
您可以执行类似于 - https://stackoverflow.com/a/3667379/33116的操作 - 然后您可以代替重定向,您可以向web api端点发出请求,该端点可以返回下载计数并使用返回值更新元素。