当流文件用asp.net MVC 3下载完成时执行一些操作
本文关键字:完成时 下载 执行 操作 MVC 文件 asp net | 更新日期: 2023-09-27 18:15:00
我使用asp.net MVC 3,当在视图中单击链接时,我从控制器返回一个FileResult(它是从流中获取的,而不是物理文件)。我想要实现的是当文件完成下载时做一些事情。有可能做到吗?因为我现在不能在返回文件....
之后写任何东西提前感谢!吉尔勒莫。
创建自己的文件结果或派生现有文件:
public class MyFileStreamResult : FileStreamResult
{
// [.. constructors here ..]
public override void ExecuteResult(ControllerContext context)
{
base.ExecuteResult(context);
// do something here
}
}
然后从你的行动中得到结果:
return new MyFileStreamResult(myStream, "application/octet-stream");
您无法知道文件何时下载或下载是否成功。
一个解决方案是显示一个"你现在正在下载"或"你的下载将在几秒钟后开始"的页面,并使用隐藏的iframe或JavaScript开始文件下载。