【问题标题】:ImageIO.write doesn't work with jpgImageIO.write 不适用于 jpg
【发布时间】:2017-04-13 08:15:45
【问题描述】:

我正在用它来写一张图片:

String fileURL = Context.getContext().gets("appPath") + "upload/tmp/" + i + ".jpg";
ImageIO.write((RenderedImage) img, "jpg", new File(fileURL));

它可以在我的计算机上运行,​​但不能在服务器上运行。在服务器上,ImageIO.write 返回false

另外,如果我运行ImageIO.getImageWritersByFormatName(),返回的列表中不包含jpg

我可以写png格式的图片,但我需要jpg格式。

【问题讨论】:

  • 您在服务器上运行的 Java 版本(以及哪个供应商)?根据ImageIO API docs,所有实现都应该支持jpg文件的读写。
  • JVM 版本:1.8.0_121-8u121-b13-0ubuntu1.16.04.2-b13,JVM 供应商:Oracle Corporation
  • 你是说你错过了com.sun.imageio.plugins.jpeg.JPEGImageWriter
  • 这是我在循环 ImageIO.getImageWritersByFormatName() 后得到的:bmp BMP gif GIF WBMP png PNG wbmp
  • 该方法没有零参数版本。 ImageIO.getImageWritersByFormatName("jpeg") 返回什么?

标签: java javax.imageio


【解决方案1】:

您的服务器很可能没有运行 X11。这是一个 Java (AWT/Java2D) 问题。

【讨论】:

    猜你喜欢
    • 2013-10-14
    • 2017-07-13
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 2021-11-13
    • 1970-01-01
    相关资源
    最近更新 更多