最初,我在SQL Server中有一个表,其中包含一个包含图片URL的字段。
我创建了一个XSL模板来自定义ArcMap中该表的信息窗口。要显示该图像我只需要这样做:
<xsl:variable name="pic" select="$theField[FieldName='PIC']/FieldValue"/>
<img border="0" src="{$pic}" width="200"/>
现在,图片作为blob存储在数据库中。 VARBINARY
字段。
如何从blob源设置<img>
标记?
我一直在阅读类似问题here和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>
答案 0 :(得分:1)
如果图像采用FOP支持的格式(可能)和,您可以将图像转换为Base64(?)和 FOP可以使用{{1}计划内联data:
属性值中的图像数据(我无法找到可以或不可以说的任何内容)然后您可以执行以下操作:
src
否则,您可能需要提供一个URL以放入<fo:external-graphic
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAB
3RJTUUH1AIFCDIuN9BfzQAAAAlw ... ="/>
属性值,以便FOP可以直接从数据库访问该图像。