我有一份SSRS 2005报告,其中包含许多图像。我包含图像的方式是我有一个图像对象,其URL设置在value属性中。实际映像由同一服务器上的IIS虚拟目录托管。我这样做是因为我需要根据报表中的数据使用表达式动态更改图像源。
问题是,在Visual Studio中预览报表时图像效果很好,但在部署报表时不显示。当我查看SSRS呈现的HTML时,图像标记的SRC属性是一个空字符串。
答案 0 :(得分:4)
我以前遇到过这个问题。
在部署报告时,您应该检查是否有任何警告被抛出。 rsWarningFetchingExternalImages警告意味着报告服务在匿名访问映像时出现问题。这可能是因为在IIS中未正确配置匿名访问,或者在我的情况下,您可能会遇到托管图像的MIME类型问题。我试图托管PNG文件,当我将图像更改为GIF时,它可以正常工作。
答案 1 :(得分:1)
在该图像文件夹的IIS中设置匿名身份验证已启用。
答案 2 :(得分:0)
我绝不是IIS专家,这就是我放弃并转换为GIF文件的原因,但是从我放弃之前的研究中,我可以告诉你,并非所有版本的IIS都支持PNG MIME默认情况下输入。我已尝试按照http://www.hostmysite.com/support/dedicated/IIS/newmime/上的说明将PNG MIME类型添加到我的虚拟目录中,但它对我不起作用。 (记得在尝试之后重新部署,因为我认为这是RS协调图像URL的时候)也许对MIME类型有更多了解的人可能会有一些输入。
答案 3 :(得分:0)
当Service Pack(2或3)尚未应用时,我在SSRS2005上看到了这个问题。
答案 4 :(得分:0)
我遇到了同样的问题,我只知道它是文件夹上的授权问题。我必须在web.config文件中添加规则以允许所有用户访问图像
//假设Images是要检索图像的文件夹
< location path="Images" >
< system.web >
< authorization >
< allow users="*" / >
< /authorization >
< /system.web >
< /location >
参考:http://msdn.microsoft.com/en-us/library/wce3kxhd(v=vs.100).aspx
答案 5 :(得分:0)
托管图片的文件夹需要拥有每个人的权限。此外,如果要在Share Point中部署报表,则需要将以下web.config
添加到该文件夹。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</configuration>
答案 6 :(得分:0)
如果您使用的DPI太大,SSRS会将其渲染得非常大,除非您将其属性设置为适合其大小,否则SSRS可能不会显示在图像框中。
“ SSRS中的图像渲染被硬编码为72 96DPI。不仅如此,它还将假定原始图像为96DPI,因此最终渲染的300DPI图像将比预期大3.1倍。”
答案 7 :(得分:0)
您的图像是透明的PNG,并且放置在表格的单元格中吗?
一个常见的错误是将png之类的图像放置在文本框中。这将引起问题,使其在设计屏幕中显示,但在预览中将停止工作