【问题标题】:Success and failure actions when downloading a file in MVC在 MVC 中下载文件时的成功和失败操作
【发布时间】:2016-02-02 09:53:36
【问题描述】:

我页面上的按钮调用返回文件的控制器方法,如下所示:

// 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 路径(以检查他们是否有权下载它)。

有没有可行的解决方案?

【问题讨论】:

    标签: ajax asp.net-mvc download


    【解决方案1】:

    您可以执行类似于 - https://stackoverflow.com/a/3667379/33116 的操作 - 然后您可以向 Web api 端点发出请求,而不是重定向,该端点可以返回下载计数并使用返回的值更新元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 2021-09-01
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多