繁体   English   中英

在 ASP.NET Framework 中使用元数据丰富 FileStreamResult

[英]Enrich FileStreamResult with metadata in ASP.NET Framework

我正在生成一个excel文件。 然后我使用以下代码从我的控制器发回:

return new FileStreamResult(
    excelMemoryStream, 
    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    {
        FileDownloadName = "data.xlsx"
    };

FileStreamResult来自System.Web.Mvc

现在我有一个业务需求,如果没有数据添加到 excel 中,则在 FE 上显示弹出消息。 excel中仍然可以有标题,所以我不能只检查FE上的excel文件大小。 我需要连同 excel 文件一起发送额外的元数据。

我无法添加另一个端点来检查是否有任何数据要添加到 excel 中。 这样的端点可能会导致在数据存在检查期间没有数据,然后添加数据,然后生成excel的端点运行的情况。 所有这些都会导致返回一个非空的 excel,但 FE 上会显示空的 excel 消息。 因此,比赛条件有很大的空间。

所以,我的问题是是否有可能以某种方式丰富System.Web.Mvc.FileStreamResult除了内存流之外的更多数据? 能够将自定义类型的对象与内存流一起添加会很好。

该项目使用<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>

这是我找到的解决方案。 在返回结果之前,我还要添加元数据标头。

Response.Headers.Add("metadata", "{'any': 'data i want'}");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM