【问题标题】:Returning a PDF from a Web Service从 Web 服务返回 PDF
【发布时间】:2015-02-12 06:32:38
【问题描述】:
我创建了一个 Web 服务,它调用我使用 Telerik Reporting Tool 制作的报告。我的 Web 服务正在返回包含我的报告的报告查看器的 URL。它实际上是 PDF 格式,但正如您在图片中看到的那样,扩展名是 .aspx,因为这基本上是报表查看器,但我想做的是在没有报表查看器的情况下显示 PDF,以便扩展名将是.pdf 而不是 .aspx,关于如何实现它的任何建议?在此先感谢:)
【问题讨论】:
标签:
asp.net
web-services
pdf
telerik
【解决方案1】:
我没有使用 Telerik Reporting Tools 的经验,但是您可以从 Web 服务而不是 url 获取 PDF 文件作为 byte[] 数组吗?然后你可以将二进制数据写入你的响应流。
public void GetReport()
{
byte[] pdfBytes = yourWebService.GetReportBytes();
Response.OutputStream.Write(pdfBytes, 0, pdfBytes.Length);
Response.ContentType = "application/pdf";
Response.End();
}
这对您来说是一个可行的解决方案吗?应该在 ASP.NET WebForms 和 MVC 中工作。将 yourWebService.GetReportBytes() 部分替换为您必须对 Telerik Reporting 进行的任何调用以获取您的报告字节。