如何从控制器返回多个文件,因为它在返回一个文件后才停止? MVC

时间:2019-04-03 08:05:24

标签: c# angularjs file model-view-controller download

我正在尝试使用控制器中的循环返回多个文件,因为它在返回一个文件后才停止。

有什么方法可以使FileResult类型的列表首先添加到该列表中,而不是单独或以压缩版本返回它。

我调用控制器的角度代码就像

window.open(utilitiesService.getFullPath() + '/Survey/establishmentAllRecord?Id='+1020  );

此代码打开新窗口调用控制器方法,

public FileResult establishmentAllRecord(int VisitId)
{
var result = GetRecord(VisitId);
foreach (var oParam in result)
{
int VisitId = Convert.ToInt32(oParam.Id);
FileResult res = PrintReport(VisitId);    
}
return res;
}

在这里,我从GetRecord获取多个记录,然后从foreach循环中的所有这些记录中将ID传递给返回我文件的“ PrintReport”方法,我可以在我的浏览器中将其作为docx文件获取。

问题是它仅返回第一个文件,我希望它为从GetRecord返回的所有记录创建打印。

我的res变量中包含三件事,

ContentType="application/octet-stream" 
FileContent in {Bytes[854695]}
FileDownloadName = "Report1"

我正在四处看看是否可以单独下载或全部下载到一个压缩文件中。

希望您的建议 谢谢

0 个答案:

没有答案