XSL - 显示存储为 blob 的图像
XSL - Show an image stored as a blob
最初,我在 SQL 服务器中有一个 table,其字段包含 URL 图片。
我创建了一个 XSL 模板来自定义 ArcMap 中 table 的信息 window。要显示该图像,我只需要这样做:
<xsl:variable name="pic" select="$theField[FieldName='PIC']/FieldValue"/>
<img border="0" src="{$pic}" width="200"/>
现在,图片以 blob 形式存储在数据库中。一个 VARBINARY
字段。
如何从 blob 源设置 <img>
标签?
我一直在阅读类似问题的几个答案here and here,但它们不适合我的情况,或者我无法做到。
甚至可以仅使用 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 (?)和 FOP 可以使用 data:
方案将图像数据内联在 src
属性 值中(我找不到任何说它可以或不能的东西) 然后 你可以这样做:
<fo:external-graphic
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAB
3RJTUUH1AIFCDIuN9BfzQAAAAlw ... ="/>
否则,您可能需要想出一个 URL 来放入 src
属性 值,以便 FOP 可以直接从数据库访问图像。
最初,我在 SQL 服务器中有一个 table,其字段包含 URL 图片。
我创建了一个 XSL 模板来自定义 ArcMap 中 table 的信息 window。要显示该图像,我只需要这样做:
<xsl:variable name="pic" select="$theField[FieldName='PIC']/FieldValue"/>
<img border="0" src="{$pic}" width="200"/>
现在,图片以 blob 形式存储在数据库中。一个 VARBINARY
字段。
如何从 blob 源设置 <img>
标签?
我一直在阅读类似问题的几个答案here and here,但它们不适合我的情况,或者我无法做到。
甚至可以仅使用 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 (?)和 FOP 可以使用 data:
方案将图像数据内联在 src
属性 值中(我找不到任何说它可以或不能的东西) 然后 你可以这样做:
<fo:external-graphic
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAB
3RJTUUH1AIFCDIuN9BfzQAAAAlw ... ="/>
否则,您可能需要想出一个 URL 来放入 src
属性 值,以便 FOP 可以直接从数据库访问图像。