asp.net-mvc – 在MVC Action中将SSRS报告导出为PDF

是的,我想将SSRS报告导出到PDF并将其从我的操作中返回,我没有任何Report Viewer.请告诉我如何实现这一点.到目前为止我做到了这一点
public void sqlServerReport()
    {
        NetworkCredential nwc = new NetworkCredential("username","password","domain");
        WebClient client = new WebClient();
        client.Credentials = nwc;
        string reportURL = "http://servername/ReportServer/reportfolder/StateReport&rs:Command=Render&rs:Format=PDF";
        Byte[] pageData = client.DownloadData(reportURL);
        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Disposition","attachment; filename=" + DateTime.Now);
        Response.BinaryWrite(pageData);
        Response.Flush();
        Response.End();
    }

上面的代码抛出异常

"The remote server returned an error: (401) Unauthorized."

我的问题是
1)我正朝着正确的方向前进吗?
2)有没有更好的替代方案来实现这一目标?

解决方法

我纠正了上面的代码,现在它的工作
public ActionResult GetPdfReport()
    {
        NetworkCredential nwc = new NetworkCredential("username","password");
        WebClient client = new WebClient();
        client.Credentials = nwc;
        string reportURL = "http://someIp/ReportServer/?%2fReportProjectName/ReportName&rs:Command=Render&rs:Format=PDF";
        return File(client.DownloadData(reportURL),"application/pdf");
    }

我没有找到任何其他替代方法来在不使用ReportViewer的情况下在MVC中导出SSRS报告.

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...