我使用的是ASPNETMVC3,当在视图中单击一个链接时,我会从控制器返回一个FileResult (它取自一个流,而不是一个物理文件)。我想要实现的是在文件下载完成后执行一些操作。有没有可能做这件事?因为在返回文件之后我现在不能写任何东西...
提前感谢!吉列尔莫。
发布于 2011-11-18 20:41:39
创建您自己的文件结果或派生现有文件结果:
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");发布于 2011-11-18 22:17:50
您无法知道文件何时下载,甚至无法知道它是否成功下载。
一种解决方案是显示一个“您正在下载”或“您的下载将在几秒钟内开始”的页面,并使用隐藏的iframe或JavaScript开始文件下载。该页面可以表现为该页面是成功的。
https://stackoverflow.com/questions/8182467
复制相似问题