SSRS - 如何根据列内的 URL 显示外部图像

问题描述 投票:0回答:3

我正在尝试在基本报告中显示产品图像。图像需要是动态的,这意味着图像应该根据 SKU 值而变化。

现在我正在将图像插入表中,设置为外部,并且我已经尝试过:

=Fields!URL.Value
=http://externalwebservername/sku= & Fields!SKU.Value
="http://externalwebservername/sku=" & Fields!SKU.Value

我的表格中没有任何图像。

我的存储过程包含所有数据,包括带有我不想显示的图像的 URL。以下是 URL 的示例:

http://externalwebservername/sku=123456

如果我在字段中输入不带“=”的 URL,它将仅显示一张图像。

我应该如何设置表达式才能正确显示基于动态 URL 的外部图像?运行 SQL 2016

sql image reporting-services ssrs-2008 ssrs-2016
3个回答
2
投票

艾伦的答案应该有效,但在我们的环境中,我们有严格的代理/防火墙规则,因此两台服务器无法相互联系。

相反,我们正在导航到存储在存储系统上的文件。

我们更改了 URL 列以指向存储过程中的文件路径。插入图像,将源设置为

External
,将值设置为
[URL]

URL= file://server\imagepath.jpg


1
投票

只要执行报告的帐户有权访问 URL,那么您的第三个表达式就应该有效。

我整理了一个简单的例子如下。

我创建了一个新的空白报告,然后添加了一个数据源。不管它指向哪里,我们都不会直接使用它。

然后我使用以下 SQL 创建了一个数据集 (

Dataset1
),以提供图像名称列表。

SELECT        '350x120' AS suffix
UNION SELECT        '200x100' 
UNION SELECT        '500x500' 

实际上,这些只是网站 http://placehold.it/ 的参数,它将根据您请求的尺寸生成图像,但这与本练习无关。

我们将展示来自以下 URL 的三张图片

http://placehold.it/350x120
http://placehold.it/200x100
http://placehold.it/500x500

接下来,创建一个表,我使用了 3 列来给我更多的测试选项。如果尚未将

DataSetName
设置为
DataSet1

第一列中的表达式只是

=Fields!suffix.Value

在第二列中,我添加了一个图像,将其

source
属性设置为
External
并将
Value
设置为
="http://placehold.it/" & Fields!suffix.Value

然后我添加了第三列,其表达式与图像

Value
相同,这样我就可以看到用作图像 URL 的内容。我还添加了一个访问同一 URL 的操作,只是为了检查 URL 中是否包含任何可能导致问题的不可打印字符。

基本的报告设计如下所示。

渲染的结果如下所示。


0
投票

已经很多年了,我想到了这一点,希望它能帮助下一个遇到这种情况的可怜的灵魂。

这仍然是 Power BI 报表生成器中的一个问题。解决方案是这样的: ="http://externalwebservername/sku=" & CStr(字段!SKU.Value)

Str()不行,必须是CStr()

© www.soinside.com 2019 - 2024. All rights reserved.