首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ASPNET MVC 3在流文件下载完成时执行某些操作

使用ASPNET MVC 3在流文件下载完成时执行某些操作
EN

Stack Overflow用户
提问于 2011-11-18 20:31:22
回答 2查看 1.3K关注 0票数 3

我使用的是ASPNETMVC3,当在视图中单击一个链接时,我会从控制器返回一个FileResult (它取自一个流,而不是一个物理文件)。我想要实现的是在文件下载完成后执行一些操作。有没有可能做这件事?因为在返回文件之后我现在不能写任何东西...

提前感谢!吉列尔莫。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-18 20:41:39

创建您自己的文件结果或派生现有文件结果:

代码语言:javascript
复制
public class MyFileStreamResult : FileStreamResult 
{
    // [.. constructors here ..]


    public override void ExecuteResult(ControllerContext context) 
    {
        base.ExecuteResult(context);

        // do something here
    }
}

然后从你的行动中得到结果:

代码语言:javascript
复制
return new MyFileStreamResult(myStream, "application/octet-stream");
票数 6
EN

Stack Overflow用户

发布于 2011-11-18 22:17:50

您无法知道文件何时下载,甚至无法知道它是否成功下载。

一种解决方案是显示一个“您正在下载”或“您的下载将在几秒钟内开始”的页面,并使用隐藏的iframe或JavaScript开始文件下载。该页面可以表现为该页面是成功的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8182467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档