XSL-显示以斑点存储的图像



最初,我在SQL Server中有一个表格,其中包含图片的URL字段。

我创建了一个XSL模板来自定义Arcmap中该表的信息窗口。要显示图像,我只需要这样做:

<xsl:variable name="pic" select="$theField[FieldName='PIC']/FieldValue"/>
<img border="0" src="{$pic}" width="200"/>

现在,图片被存储在数据库中。VARBINARY字段。

如何从斑点源设置<img>标签?

我一直在这里和这里阅读几个答案,但它们不符合我的案子,或者我无法做到。

甚至只能使用XSL模板来完成它?

我已经尝试了此(和类似的变体(:

<fo:instream-foreign-object content-type="image/png">
    <xsl:variable name="pic" select="$theField[FieldName='PIC']/FieldValue"/>
    <img border="0" src="{$pic}" width="200"/>
</fo:instream-foreign-object>

如果图像为FOP支持(可能(的格式,则可以将图像转换为base64(?( and FOP可以使用data:方案在src属性值中嵌入图像数据(我找不到任何可以说可以或不能说的(然后,您将能够执行以下操作:P>

<fo:external-graphic
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAB
3RJTUUH1AIFCDIuN9BfzQAAAAlw ... ="/>

否则,您可能必须提出一个URL才能放入src属性值,以便FOP可以直接从数据库访问图像。

最新更新