SSRS外部图像显示在设计器中但不在应用程序中

时间:2017-03-10 12:35:38

标签: c# visual-studio-2013 reporting-services rdlc reportviewer

我尝试在报告上显示图像。在代码中一切都很好,在另外两台PC上检查:在那里工作。在我的电脑上当我设置像file:D:/koala.jpg这样的img路径时,我可以在设计器中看到它,但是当我运行应用程序时,它不会出现在报告中(出现红叉)。

但是,当我为非本地文件设置路径时,任何地址http://..../koala.jpg都可以在设计器和应用程序中正常工作。来自数据库的图像也显示正常。看起来唯一的问题是运行应用程序的本地文件。路径很好,图像很好。

错误:

Warning: The value of the MIMEType property for the image ‘Image1’ is “application/octet-stream”, which is not a valid MIMEType. (rsInvalidMIMEType) Warning: The value of the ImageData property for the image ‘Image1’ is “”, which is not a valid ImageData. (rsInvalidExternalImageProperty)

重要的是: 我在几台PC上测试了应用程序并且:相同的程序在每一个上运行正常,在desginer中显示图像并从同一路径运行应用程序`d:/koala.jpg'相同的图片(在他们的本地磁盘上),并且只在我的PC上显示它在设计师而不是在运行应用程序。

这可能是Server的问题,因为在Reporting Services配置管理器中我看到使用内置帐户:Report$myServer而在其他PC上我只看到Report?对不起我的问题,我试图找出问题太长的问题

编辑1:

我发现了一些东西。当我在使用路径到文件的报告属性中使用自定义代码将其读取到字节数组时,我遇到了权限和IO异常的问题。但是,当我这样做时,将文件读取到字节数组,然后将其作为数据库而不是外部图像放入图像,它可以正常工作。所以它以某种方式工作,但我想知道为什么报告查看器尝试打开文件时不会。

总结:

每当ReportViewer尝试在我的电脑上打开文件时,我都有权限问题。 (通过外部图像或自定义代码)。奖励给那些回答的人让我把我作为外部图像路径放到我的LOCAL文件中,当我打开应用程序时它会起作用。

2 个答案:

答案 0 :(得分:2)

SSRS报告服务器无法访问您的本地文件。您可以选择以下选项:

  • 将图片嵌入报告中(.rdl较大且图片未共享)
  • 将图像保存在报表服务器上(将在发布时使用,但不能在本地使用)
  • 将图像保存在可公开访问的网站中

如果您使用的是SharePoint集成模式,则可以将图像保存到该文件夹​​中。对于纯模式,您可以将其保存在报表管理器中的文件夹中。

答案 1 :(得分:0)

格式化,因为我是这个论坛的新手。

你可以替换你的逻辑吗?

file:D:/koala.jpg

"file:///"+"D:/koala.jpg"

请提供正确的图片路径......

让我知道它是否有效。

由于

相关问题