Java将数据库中的图像作为字节流加载并将其加载到xsl中

时间:2014-06-22 03:12:34

标签: pdf-generation xsl-fo

图像保存在数据库中作为字节流,我必须在xsl中加载该图像。在xsl中是否可以从数据库加载图像?如果是这样如何做到。在xsl中,我们只用于加载静态图像,但我需要加载动态内容

1 个答案:

答案 0 :(得分:0)

假设您有一些数据库,并且您正在存储可以某种方式检索的图像。图像由某些ID识别...如“1234567”。然后假设您的XML中包含某些内容,例如:

<imageid>1234567<imageid>

你XSL会接收这些信息,你可以:

1)创建自定义协议和Java URL处理程序并注册它。然后你只需在URL中使用它来获取fo:external-graphic的src属性...例如,你创建并注册一个自定义协议“getimage”和一个返回一些图像的处理程序。然后你可能有:

<fo:external-graphic src="getimage://myserver.com/images/1234567"/>

对于代码示例,只需在Web中搜索“创建自己的Java URL处理程序”。这是一个很好的资源:http://docstore.mik.ua/orelly/java/exp/ch09_06.htm

2)创建一个返回图像的servlet,然后你可以:

<fo:external-graphic src="http://myserver.com/getimage.jsp?image=1234567"/>

您必须决定如何从数据库中获取图像并将其流回,在标题中设置适当的信息,以便将其识别为相关的图像类型。