使用 C# 在 ASP.NET MVC 中流式传输文件和更新标签

问题描述

我是 ASP.NET MVC 的新手。我的问题是,当我单击一个按钮时,我执行了一个操作,然后我想流式传输我为用户创建的 zip 文件以供下载。

在流之后,我想更新一个标签以说明它已完成。

我正在使用执行 HTTP 发布的 ASP.NET MVC 控制器

[HttpPost]
public ActionResult Index(FormCollection fc,string SearchFilter,string SourceCountry,string DocumentType,bool DuplicatePODS)

这就是我构建和传输 zip 文件的方式

ViewBag.ZipFile = fileName;
ZipFileCreator.CreateZipFile(fileName,outFiles);

InvoiceRequest.Models.DownloadFile downloadFile = new Models.DownloadFile()
            {
                fileContentResult = new System.Web.Mvc.FileContentResult(System.IO.File.ReadAllBytes(fileName),"application/zip")
            };

Response.ContentType = "application/zip";
Response.AppendHeader("Content-disposition","attachment; filename=outfile.zip");
Response.TransmitFile(fileName);

我正在使用 ViewBag.Messages 在屏幕上写信息

    <span style="color: #CD2028; font-size: 30px;">
        @(ViewBag.Messages != null ? ViewBag.Messages : "")
    </span>

问题是 ViewBag.Messages 值没有更新和返回,因为我在 return View(); 之前流式传输文件

有什么我遗漏的吗?我愿意接受任何想法。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)