从Image对象获取图像mime类型

时间:2017-02-14 16:03:39

标签: java image-processing

我有一个桌面java应用程序从用户剪贴板中获取图像(“粘贴”动作),我需要在进一步处理之前检查它们的mime类型(只允许jpg,png和gif)。

我正在使用此代码从剪贴板中获取图像:

  Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
  if (transferable != null && transferable.isDataFlavorSupported(DataFlavor.imageFlavor)) {
    try {
      Image pastedImage = (Image) transferable.getTransferData(DataFlavor.imageFlavor);
      // how to get mime type?
    } catch (Exception e) {/*cutted for brevity*/}
  }

现在,我知道how to get the mime type from a file using apache Tika并且我尝试将图像写入磁盘以重用此技术,但ImageIO.write方法也需要格式名称:

BufferedImage bi = convertImageToBI(img);
File outputfile = File.createTempFile("img_", "_upload");
ImageIO.write(bi, "jpg", outputfile);

要将图像转换为BufferedImage,我正在使用this method。唯一的区别是我使用的是TYPE_INT_RGB而不是TYPE_INT_ARGB

如何获取粘贴图像的mime类型?

0 个答案:

没有答案