小编cbe*_*der的帖子

在JasperReport中将字节数组显示为图像

我将图像保存为a byte[],我想将其显示为JasperReport中的图像.我试过从Java方法获取数据:

public InputStream getImage(){
  return new ByteArrayInputStream(getImageByteArray());
}
Run Code Online (Sandbox Code Playgroud)

public Image getImage() throws IOException{
    return ImageIO.read(new ByteArrayInputStream(getImageByteArray()));
}
Run Code Online (Sandbox Code Playgroud)

public String getImage(){
  return new String((new org.apache.commons.codec.binary.Base64()).encode(getImageByteArray()));
}
Run Code Online (Sandbox Code Playgroud)

但他们似乎都没有工作.

jrxml看起来像这样:

<image hAlign="Center" vAlign="Middle" isUsingCache="true" isLazy="true">
   <reportElement positionType="Float" x="0" y="0" width="164" height="32" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="c63c84a8-41c7-4ca3-8451-751d43fa8a9e"/>
   <imageExpression><![CDATA[$P{paramObject}.getImage()]]></imageExpression>
</image>
Run Code Online (Sandbox Code Playgroud)

我尝试的一些东西得到了异常,有些打印了JasperReport但是图像应该是空白的区域.我知道图像数据存在,因为我可以在JSF页面中显示它.图像数据是SVG数据.

java arrays svg jasper-reports

6
推荐指数
3
解决办法
1万
查看次数

我什么时候应该在Python中使用类型检查(如果有的话)?

我开始学习Python,作为主要的Java开发人员,我遇到的最大问题是何时何时不使用类型检查.大多数人似乎都在说Python代码不需要进行类型检查,但是在我认为有必要时会有很多情况.例如,假设我需要使用方法参数来执行算术运算,为什么我不确定参数是数值数据类型?

此问题不仅限于功能.对于类变量,我也会遇到同样的思考过程.我应该或不应该使用属性(使用@property)来检查类型而不是定期实现的类变量?

这是一种为我开展发展的新方式,所以我很感激帮助理解.

python dynamic-typing

5
推荐指数
1
解决办法
260
查看次数

多个 Java 类实例同时读取同一个 Map 是否存在线程安全问题?

我有一个Map<Sting, List<Object>>可以从多个 Java 类实例访问的。这Map有时会由单独的线程偶尔更新。实例永远不会写入任何对象。他们只是获取Lists 之一并读取其中的对象。

我应该为此担心线程安全吗?只有一个线程在写。

java thread-safety

0
推荐指数
1
解决办法
41
查看次数