第一次在Java中处理图像,并且得到了一些奇怪的异常,这些异常并没有得到很好的记录。下面是失败的代码行:
BufferedImage imgSelected = ImageIO.read(new File("/abs/url/to/file/image.jpg"));这一行是抛出一个不受支持的图像类型的IIOException作为异常消息。我检查并重新检查了以下内容:实际上是这一行抛出异常,File是有效的,URL是有效的,而image.jpg实际上是一个有效的JPG,在其他图像查看器中加载得非常好。
我能做些什么来获得更多关于这个异常性质的信息呢?这是在Java 7中加载图像的传统方式,还是一种旧的/不推荐的方法?关于这些“不受支持的图像类型”异常,这里没有太多的信息,当然,ImageIO支持JPG!
谢谢你的帮助!
发布于 2022-02-25 02:19:41
这个提供教程是一个使用apache库的答案.我发现它是一个更干净的实现。我包括了下面的依赖项
<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.11.0</version>
</dependency>下面是在添加依赖项之后工作的代码
    public ResponseEntity<byte[]> getImage(@PathVariable("filename") String filename) {
     byte[] image = new byte[0];
      try {
          image = FileUtils.readFileToByteArray(new File(FILE_PATH_ROOT+filename));
      } catch (IOException e) {
          e.printStackTrace();
      }
      return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG).body(image);
    }https://stackoverflow.com/questions/7177655
复制相似问题