我需要将文件列表返回给MVC控制器并使用JQuery(或Angular)打开它们。
public class QuietanzaPdf
{
public QuietanzaPdf()
{
}
public string QuietanzaBody { get; set; }
public string QuietanzaName { get; set; }
}
[HttpPost]
public List<QuietanzaPdf> GetPdfs()
{
List<QuietanzaPdf> listaPdfQuietanza = new List<QuietanzaPdf>();
foreach (var objectQuietanza in listOfPdf)
{
listaPdfQuietanza.Add(new QuietanzaPdf()
{
QuietanzaBody = objectQuietanza.Contents,
QuietanzaName = objectQuietanza.FileName
});
}
return listaPdfQuietanza;
}
现在我需要在一个单独的Chrome选项卡中打开每个文件(或在资源管理器中下载)和JQuery(或者Angular也很好)。
答案 0 :(得分:0)
能够以这种方式做事会很高兴,但遗憾的是它并不实用,而且我所看到的任何方法都存在主要的浏览器兼容性问题(例如使用JavaScript的窗口) .open on base64 data)。通常,您将拆分请求,以便每个PDF文件都有一个请求/响应对。
解决这个问题的一个常用方法是使用一个方法返回带有资源标识符(例如主键或文件名)的JSON列表,然后获取客户端代码(如您提到的jQuery或Angular)获取这些资源中的每一个都有自己的AJAX请求。