角度4下载pdf出来空白

时间:2018-06-13 22:03:42

标签: c# angular

您好我正在尝试从我在服务器上创建的报告中下载pdf。当我创建它时,我将它保存在服务器上一会儿然后我再打一次电话并下载它。

以下是Web API上的代码:

        var rootDirectory = HostingEnvironment.MapPath("~");
        var filePath = $@"{rootDirectory}\Temp\{file}.pdf";
        var bytes = File.ReadAllBytes(filePath);
        File.Delete(filePath);

        var memoryStream = new MemoryStream(bytes);

        var result = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content =  new ByteArrayContent(memoryStream.ToArray())
        };
        result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = "report.pdf"
        };
        result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");

        return result;

然后我回到打字稿,这里是我使用的代码下载它:

                this.reportsService
                    .download(id)
                    .subscribe(r => {
                        let pdf =r._body;
                        var pdfName = `${this.selectedReport.name}.pdf`;
                        let blob = new Blob([pdf], { type: 'application/pdf' });

                        window.open(URL.createObjectURL(blob));
                    });

            });

我应该提一下,当我从服务器上保存pdf时打开它是正确的。 有人可以告诉我我错过了什么吗?

0 个答案:

没有答案