【发布时间】:2013-06-26 21:58:38
【问题描述】:
我的控制器中有一个 ActionResult 方法,它为下载文件场景返回 FileStreamResult。下载文件后,我想将用户重定向到不同的视图。我怎样才能最好地做到这一点?
【问题讨论】:
标签: asp.net-mvc-4 filestreamresult
我的控制器中有一个 ActionResult 方法,它为下载文件场景返回 FileStreamResult。下载文件后,我想将用户重定向到不同的视图。我怎样才能最好地做到这一点?
【问题讨论】:
标签: asp.net-mvc-4 filestreamresult
你做不到。您只能从您的操作中返回一个响应,该响应将包含该文件。你也不能在里面放一个重定向头,你可以做的最好是先重定向,然后开始下载。
【讨论】:
没有真正简单的方法可以做到这一点,因为文件下载是客户端/浏览器的事情。
here 提到了一种 JavaScript 技术。
TLDR:在客户端创建一个 cookie,在文件下载中覆盖它(例如,通过设置一个过期的 cookie 来删除它),如果 cookie 经常在客户端上检查消失了,当它消失时,做一个重定向。
【讨论】: