打开MVC中的文件列表

时间:2018-05-24 17:24:18

标签: jquery asp.net-mvc pdf

我需要将文件列表返回给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也很好)。

1 个答案:

答案 0 :(得分:0)

能够以这种方式做事会很高兴,但遗憾的是它并不实用,而且我所看到的任何方法都存在主要的浏览器兼容性问题(例如使用JavaScript的窗口) .open on base64 data)。通常,您将拆分请求,以便每个PDF文件都有一个请求/响应对。

解决这个问题的一个常用方法是使用一个方法返回带有资源标识符(例如主键或文件名)的JSON列表,然后获取客户端代码(如您提到的jQuery或Angular)获取这些资源中的每一个都有自己的AJAX请求。