如何打开PDF文件,而不是在浏览器中以角度下载文件?

时间:2019-03-14 13:05:56

标签: asp.net angular html-to-pdf

我的前端在Angular 4中,后端在点网中,我有一个URL,当我在浏览器中单击该URL时,正在下载PDF,但我想在浏览器中显示它。

我通过get呼叫收到了该URL,然后在新窗口中打开该URL,但是始终在下载该URL。

这是我尝试过的:

ts文件代码:

this.http.get(this.pdfUrl, { params: { data: JSON.stringify(prospect) }})
                .subscribe(data => {

                    var strWindowFeatures = "location=yes,height=570,width=520,scrollbars=yes,status=yes";
                    window.open(data.url, "_blank", strWindowFeatures);
                },
                    error => {
                        console.log(error);
                    })
        ]).then(function (result) {
            if (result) {
                console.log("ok");
            }
          });

在响应此get呼叫时,我收到了加密格式的PDF文件数据和一个可下载PDF的URL。

我的控制器代码:

                HtmlToPdf converter = new HtmlToPdf();
                var rootDir = this.environment.ContentRootPath;

                rootDir = this.environment.ContentRootPath + "/bin/Debug/netcoreapp2.0";

                 IHTMLTemplateProvider proposalProvider = new ProposalProvider();
                proposalProvider.LoadDocument(rootDir + "/templates/Proposal.html");

                proposalProvider.ParseDocument();

                string notificationContent = await proposalProvider.GetDocumentInText().ConfigureAwait(false);
                SelectPdf.PdfDocument doc = converter.ConvertHtmlString(notificationContent);

                byte[] pdfData = doc.Save();
                doc.Close();

                return File(pdfData, "application/pdf", "document.pdf");

0 个答案:

没有答案