我有一个小网站,用于维护用户数据。我在表中维护用户数据并在服务器上存储像/images/users/user_id.jpeg这样的图像。
我在asp.net页面中使用ReportViewer控件来显示Web应用程序中SSRS的报告。
现在,用户想要报告,他们可以在报告中看到用户图像,以便他们可以将其导出为pdf并打印出来。
在报告中,我尝试使用完整和相对网址的html图像标记,并选择呈现HTML,但它不起作用。此外,我尝试使用外部网址在工具箱中的图像控制,这似乎现在正在工作。 有人可以帮我解决这个问题或指导我一些有用的链接。 谢谢大家,
答案 0 :(得分:1)
如果您可以在报表设计器中查看预览中的图像,那么设置报表会让您的用户更容易看到图像。
确保您有一张可以转到其中一张图片的工作网址。通过将URL粘贴到浏览器的地址栏中进行测试,并确保图像显示在浏览器中。
从报告中删除现有图片。将新图像插入到用于显示表格的报表对象(通常是列表或表格)中。 (这应该是旧图像的位置。)
指定Web作为图像源,并输入您的工作URL作为图像的URL。
在报表设计器中预览报表。您应该能够在报告中正确显示图像(使用硬编码的URL)。
假设所有图像都存储在服务器的同一目录中,请切换到报表设计器的布局选项卡,然后单击图像对象。在“属性”窗口中,value属性应为加密编码的URL。
点击Value属性下拉菜单中的<Expression...>
选项。编辑表达式,使其显示="
您的网址,不包含文件名 " & Fields!
您的图片文件名数据字段名称 .Value
在报表设计器中预览报表。您应该能够在报告中看到正确显示数据的相应图像。
如果到目前为止一切正常,请部署报告并尝试在报告管理器中查看。您应该能够在报告中看到正确显示数据的相应图像。
此时,您的用户现在应该能够看到报告图像。
答案 1 :(得分:1)
我尝试了一切!它不适用于BIDS,Web浏览器和Winform Report Viewer控件。
我最终对图像进行了硬编码,但仍然无效:
="http://MyServer/Reports_SQL2008/Pages/Resource.aspx?ItemPath=%2fProjectReporting%2fBRAND_Logo.png&RetrieveResource=True"
我很确定问题是与Active Directory组策略传播有关。如果你遇到同样的问题,我建议你过夜,并尝试了你能想到的一切:
无论如何,第二天早上我尝试了硬编码路径,现在这个动态网址也有效:
http://MyServer/Reports_SQL2008/Pages/Resource.aspx?ItemPath=%2fProjectReporting%2f“&amp; First(Fields!Brand.Value,”ClientAndBrandByAccount“)&amp;”_Logo.png&amp; RetrieveResource = True“
RDL文件中的XML是HTML编码的,如下所示:
<Image Name="Logo">
<Source>External</Source>
<Value>="http://MyServer/Reports_SQL2008/Pages/Resource.aspx?ItemPath=%2fProjectReporting%2f" & First(Fields!Brand.Value, "ClientAndBrandByAccount") & "_Logo.png&RetrieveResource=True"</Value>
我试图让Alex Z显示动态服务器URL,尽管我必须使用这个Replace
代码:
=Replace(Globals!ReportServerUrl,"/ReportServer_","/Reports_") & "/Pages/Resource.aspx?ItemPath=%2fProjectReporting%2f" & First(Fields!Brand.Value, "ClientAndBrandByAccount") & "_Logo.png&RetrieveResource=True"
答案 2 :(得分:0)
使用表达式和全局变量Globals!ReportServerUrl
= Globals!ReportServerUrl
+&#34;您的图片路径&#34;