无法在RedHat服务器上使用ImageIO转换TIFF图像

时间:2018-02-08 14:33:39

标签: java server redhat tiff javax.imageio

所有

我试图在网络浏览器中显示TIFF图像,但由于它们本身不受支持,我使用像

这样的函数将它们转换为javax.imageio.ImageIO的不同格式
void convert(String filename, InputStream is, String outputType, OutputStream out) throws IOException {
      if (filename.endsWith(".tif") || filename.endsWith(".tiff")) {
         BufferedImage image = ImageIO.read(is);
         if (image == null) {
            LOG.error("Failed to read image");
         } else {
            ImageIO.write(image, outputType, out);
         }
   }

在我的 Windows 桌面上运行,我的linux( ubuntu )桌面,但我的无效 RedHat 服务器4.4.7和4.8.5。 我收到了消息"无法读取图片"在我的日志中(结果图像变量因此为空)。

我一直在打印出可用的格式名称,以查看我可以使用的内容,但只能获得" [JPG,jpg,bmp,BMP,gif,GIF,WBMP,png,PNG,jpeg, wbmp,JPEG]"。所以没有tif,tiff,TIF或TIFF。

我尝试将以下内容添加到我的pom.xml

<dependency>
    <groupId>com.github.jai-imageio</groupId>
    <artifactId>jai-imageio-core</artifactId>
    <version>1.3.1</version>
</dependency>

<dependency>
    <groupId>com.twelvemonkeys.imageio</groupId>
    <artifactId>imageio-tiff</artifactId>
    <version>3.3.2</version>
</dependency>

但无济于事。

现在我了解到ImageIO基于需要安装在jvm中的插件,但无法准确确定需要什么以及如何操作。

有人可以告诉我在哪里可以找到这样的插件吗?

由于

威廉

PS我试过java7和java8

PS2我不确定以下评论是否相关,但我记得几年前在服务器上出现问题,因为它没有安装显卡,因此没有安装某些库,因为认为不必要。我的RedHat服务器在虚拟机上运行,​​所以我猜他们也没有安装任何图形卡。也许这可能暗示一个线索

PS3我还试图将jai_codec添加到我的依赖项中,因为另一个旧项目在它的类路径中有它。但是我无法通过maven下载它。似乎依赖性不再存在。 我尝试了不同的groupId,artifcatId(带有破折号和下划线)和版本,但没有一个正在工作/下载。

0 个答案:

没有答案