我一直在努力从SSRS获取报告,但是.Net Core似乎不支持该报告。所以我想知道是否有一种方法可以仅在带有参数的Asp .Net Core中的浏览器上下载报告?我所需要的只是下载它,而无需使用报告视图预览它,因为这没有兼容性。
用户单击一个按钮,参数就会通过控制器或剃须刀页面发送,只需要一种方法就可以在浏览器中获取报告并下载
答案 0 :(得分:1)
根据Microsoft documentation,您需要首先根据您的ssrs报告和参数生成 url ,如下所示...
https://servername/ReportServer_THESQLINSTANCE/Pages/ReportViewer.aspx?%2freportfolder%2freport+name+with+spaces&rs:Format=pdf
然后将该网址传递给以下控制器操作。...
public IActionResult GetReportingData(string url)
{
try
{
url = url.Replace("\n", "");
WebRequest request = WebRequest.Create(url);
NetworkCredential credentials = new NetworkCredential(@"**UserName*", "***Password***");
request.Credentials = credentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
return File(stream, "application/pdf");
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
此操作将根据需要返回/下载pdf文件。