微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 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 举报,一经查实,本站将立刻删除。