2012-11-09 47 views
1

通过SSRS,我们有能力通过URL直接执行报告,甚至以特定格式导出报告。我已经创建了一个报告,我试图将其导出为图像,该图像非常完美。如何通过URL呈现SSRS报告而无需下载

例如为:

http://myserver/ReportServer?http://myserver/DynamicImageTest.rdl&Keyword=test&rs:Command=Render&rs:Format=IMAGE&rc:OutputFormat=PNG 

然而,因为SSRS设置页眉Content-Disposition: attachment,我的浏览器总是下载图像,而不是内联显示它。

我试图嵌入生成的图像别的地方,所以我需要能够消除或抑制这种行为。

任何方式做到这一点,无论是使用SSRS”建于URL参数或一些解决办法,否则我将需要运行通过Web服务的报告要做到这一点?

回答

1

我不认为有一种方法可以直接改变SSRS这些头。您需要编写自己的服务来获取内容并将其与正确的标题一起发送。幸运的是,编写该服务将是pretty straightforward

我很高兴得知我错了。如果有一种方法可以改变这种情况,那么它在SSRS配置中就会隐藏得很深。

+0

啊,完全错过了这个问题。我会在接受之前将其打开几天,看看是否有任何建议来编辑配置。 – GShenanigan

+0

谢谢,我将以此为中介去掉标题。 – GShenanigan

2

该解决方案对我的作品,但仍然有图/趋势呈现问题:

您需要embbed您的要求在HTML页面像这样使用javascript:

function updateImage() 
{ 
    if(newImage.complete) {  
    newImage = new Image(); 
    newImage.src = "http://server/Reportserver/?%2path%2ftestIMAGE&rs:Command=Render&Refdata=529&rc:Toolbar=false&time=" + new Date() +"&rs:Format=IMAGE&rc:OutputFormat=PNG"; 
    document.getElementById('updatebkg').style.backgroundImage = newImage.src ; 
    } 
} 

那么你上传的html页面像任何rdl文件一样放到您的SSRS门户网站上。 最后,你要求通过报告服务器acces(不报告)呈现你的html页面:

http://server/Reportserver/?%2fpath%2ftesthtml&rs:Command=GetResourceContents