c# - 如何让用户在 asp.net mvc 2 中异步下载多个文件?

标签 c# asp.net-mvc-2 asynchronous

我正在使用 ASP.NET MVC 2.0 和 .NET Framework 3.5 sp1。

我有一个操作当前采用 View 模型作为参数。该操作的返回类型为 FileResult。它在我的应用程序中用于生成 pdf 并将其流式传输给用户以供下载。有没有办法让此操作异步运行,以便可以将多个文件流式传输回用户?我知道这很丑陋,但这是用户所请求的以及 b/c 隐私和权限问题,这些文件仅存在于内存中,因此我无法将它们压缩在一起并将其流式传输。本质上,用户可以单击他想要下载的文件,然后会为每个文件显示一个下载对话框。

我正在考虑让我的 Controller 继承 AsyncController 并实现 MyActionAsync 和 MyActionCompleted 类型方法。根据我自己的测试,我认为这是不可能的。有人可以验证一下吗?

最佳答案

对服务器的一次请求只能返回单个文件。因此,您的代码应该可以正常工作 - 用户单击链接并获取一个文件,单击另一个链接并获取另一个文件。

如果你想要像“file1[]、file2[x]、file3[x]、file4[]”这样的复选框,我想你可以用 JavaScript 在相应的链接上调用 click - 只要响应有正确的标题就可以显示文件保存对话框。我认为用户体验也会很奇怪。

关于c# - 如何让用户在 asp.net mvc 2 中异步下载多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685628/

相关文章:

silverlight - Plupload 文件浏览器打不开

asp.net-mvc - 集合的验证摘要

java - 我应该在哪里放置@EnableAsync 注释

c# - 检测卡车车轮

c# - 如何在 C# 中断开 Socket, bool 变量 ReuseSocket。什么目的

javascript - JSON 对象,绘制图表时出现奇怪的情况,怎么了?

asp.net-mvc-2 - 如何在 ASP.NET MVC 中实现动态 Controller 和 Action 方法?

perl - IO::Lambda 在 Perl 中

java - 为什么我的处理程序不工作?

c# - 存储不同语言时如何在sql server中搜索文本