【发布时间】:2017-07-31 19:24:24
【问题描述】:
我尝试在报告中显示图像。在代码中一切都很好,在另外两台 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 上测试了应用程序,并且:相同的程序在每台 PC 上都可以正常工作,在设计器中显示图像并从相同路径 `d:/koala.jpg' 运行应用程序相同的图片(在他们的本地磁盘上),并且仅在我的 PC 上显示它在设计器上,而不是在运行的应用程序中。
这可能是服务器的问题,因为在 Reporting Services 配置管理器中我看到使用内置帐户:Report$myServer 而在其他 PC 上我只看到 Report?对不起,我试图找出问题太长了
编辑 1:
我发现了一些东西。当我在使用文件路径将其读取到字节数组的报告属性中使用自定义代码时,我遇到了权限和 IO 异常问题。但是,当我这样做时,将文件读取到字节数组,然后将其作为数据库而不是外部图像放入图像中,它可以正常工作。所以它以某种方式工作,但我想知道为什么它不是当报告查看器尝试打开文件时。
总结:
每当 ReportViewer 尝试自行在我的 PC 上打开文件时,我都会遇到权限问题。 (通过外部图像或自定义代码)。奖励给回答让我作为本地文件的外部图像路径的人,当我打开应用程序时它会起作用。
【问题讨论】:
-
不能直接把图片放到项目图片文件里让VS来处理路径吗?
-
路径是不断添加到元素的,它正是:'file:D:/koala.jpg',我可以在 Visual Studio 中看到此图像,但在运行的应用程序中看不到它
标签: c# visual-studio-2013 reporting-services rdlc reportviewer