我在想,在jasper报告中显示来自samba共享的图像是可能的。但事实并非如此?当我使用以下命令时,它不起作用:
<image scaleImage="RetainShape" onErrorType="Blank">
<reportElement key="image-3" x="15" y="240" width="255" height="180" uuid="d9a3770a-777b-482b-a53a-dada5b71be1e">
<printWhenExpression><![CDATA[new Boolean($F{yzeichnung}.length() > 0)]]></printWhenExpression>
</reportElement>
<imageExpression><![CDATA[$F{yzeichnung}]]></imageExpression>
</image>
而yzeichnung带有类似"smb://mysambashare/directory/picture.jpg“的路径。路径本身是有效的,因为我可以使用Dolphin浏览目录。那么,实现这一目标的关键是什么呢?任何想法都会受到高度赞赏。
发布于 2020-08-19 11:28:07
ImageExpression也接受java java.io.InputStream
。你必须选择一个可以处理Samba的第三方库。
例如,将https://www.jcifs.org/src/中的jcif
jar放在类路径上,您可以使用以下表达式:
new SmbFileInputStream("smb://" + user + ":" + password + "@" + filePath
+ File.separator + fileName);
发布于 2020-08-19 09:31:02
Dolphin包含一个在Java应用程序中不可用的Samba客户端。
如果希望从Java应用程序中的Samba共享读取文件,则需要挂载Samba共享,然后通过标准Java文件系统类访问它。
例如,将Samba共享挂载到/mnt/mysambashare,然后在报告中使用/mnt/mysambashare/directory/picture.jpg。
https://stackoverflow.com/questions/63483265
复制相似问题