借助SSRS,我们能够直接通过URL执行报告,甚至可以以特定格式导出报告。我有一个报告设置,我试图导出为图像,这完全有效。
e.g:
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服务运行报告来执行此操作?
答案 0 :(得分:2)
此解决方案适用于我,但仍然存在图形/趋势的渲染问题:
您需要使用javascript:
在html页面中嵌入您的请求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页面上传到您的SSRS门户网站,就像任何rdl文件一样。 最后,您要求通过reportsserver acces(而非报告)呈现您的html页面:
http://server/Reportserver/?%2fpath%2ftesthtml&rs:Command=GetResourceContents
答案 1 :(得分:1)
我认为没有办法直接在SSRS中更改这些标头。您需要编写自己的服务来获取内容并将其与正确的标头一起发送。幸运的是,写这项服务将是pretty straightforward。
我很高兴得知我错了。如果有一种方法可以改变它,它在SSRS配置中隐藏得很深。