C# 按要求提供文件

C# 按要求提供文件,c#,asp.net,.net,asp.net-mvc-4,C#,Asp.net,.net,Asp.net Mvc 4,我正在向服务器发出post请求以生成xls文件。我需要使用post请求,因为我正在提交一些相对复杂的JSON,它通知如何生成XLS文件。我有以下控制器操作: [HttpPost] public ActionResult GetExcelData(ReportingRequest reportingRequest) { // Generate file .... Response.AppendHeader("Content-Dispositio

我正在向服务器发出post请求以生成xls文件。我需要使用post请求,因为我正在提交一些相对复杂的JSON,它通知如何生成XLS文件。我有以下控制器操作:

[HttpPost]
    public ActionResult GetExcelData(ReportingRequest reportingRequest)
    {
         // Generate file ....

         Response.AppendHeader("Content-Disposition", cd.ToString());
         return File(stream.ToArray(), "application/xls");  
    }

正确生成XLS文件。然后,我需要能够为下载到客户端的文件提供服务。我正在使用JavaScript将json发布到控制器。我知道下载不能通过ajax请求启动-对我来说,提供此文件供下载的最佳方式是什么?ReportingRequest对象很复杂,很难转换为查询参数。

如果选项可用:将文件保存到磁盘/db,为其分配guid;将guid作为json结果返回;使用guid客户端生成动态生成的iframe的链接或src,该iframe将为文件提供服务