Java &引用;mimetype:application";在图片上显示而不是“显示”;mimetype:image";在一个映像之后

Java &引用;mimetype:application";在图片上显示而不是“显示”;mimetype:image";在一个映像之后,java,image,file-io,mime-types,Java,Image,File Io,Mime Types,当我简单地从另一个图像创建一个新图像时,如下所示: public static void scaleByTwoRight(String src, String dest) throws IOException { BufferedImage bsrc = ImageIO.read(new File(src)); int width = bsrc.getWidth()/2; int height

当我简单地从另一个图像创建一个新图像时,如下所示:

  public static void scaleByTwoRight(String src, String dest)
    throws IOException {
           BufferedImage bsrc = ImageIO.read(new File(src));
           int width          = bsrc.getWidth()/2;
           int height         = bsrc.getHeight();
           BufferedImage bdest = bsrc.getSubimage(width, 0, width, height);
           ImageIO.write(bdest,"PNG",new File(dest));
  }
源文件(src)=C:…\Manga\Shonan Juna_gumitome 11\Shonan Juna_gumitome 11-091B.png 目标文件(dest)=C:…\Manga\Shonan JunaïGumi Tome 11-091B_A.png

生成的文件示例:

问题:新映像具有mimetype:application,而不是mimetype:image

我是如何得出这个结论的:我正在使用一个函数来测试文件是否为图像:

public static boolean isImage(String src)
    throws IOException {
          File f = new File(src);
          String mimetype= new MimetypesFileTypeMap().getContentType(f);
          String type = mimetype.split("/")[0];
          if(type.equals("image")){
              return true;
          }else{ 
              System.out.println("mimetype: "+type);
              return false;
          }
  } 
如果Mime类型不正确,则不会产生太大影响,但我更希望它能够正常工作

谢谢你的帮助

注: 我在Windows7/32b下运行
JVM 1.7/Eclipse Helios

您的代码在我的机器上运行良好。 我有windows XP,32位, 尝试使用jpeg图像,但它仅返回图像/jpeg格式的mimetype。 希望您不要试图同时执行这两个函数。
此外,目标文件名应包含适当的扩展名,如.jpeg或。png等等。

Hi Mitpatoliya,当我从浏览器中检查时,它看起来正确>文件>项目类型>png图像。但是如果我运行函数isImage(..),它将返回应用程序类型。我认为我必须在创建文件或类似文件时手动创建mime类型。。您要传递的目标路径是什么?“尝试使用jpeg图像…”当代码段明显设置为创建PNG时,为什么使用jpeg?有多种方法可以从文件中获取mimetype。大多数方法都使用文件扩展名从映射中查找相对mimetype。因此,如果您没有具有正确扩展名的文件,那么您将无法获得正确的mimetype,这就是我的观点。
String dest
dest的值是多少?函数:scalebytworlight(String src,String dest)源文件(src)=C:\…\Manga\Shonan JunaïGumi Tome 11\Shonan JunaïGumi Tome 11-091B.png目标文件(dest)=C:\…\Manga\Shonan JunaïGumi Tome 11-091BïA.png请查找目标文件的示例(图)在运行scalebytworlight函数后创建:1)不要将代码放在注释或链接中,直接将它们添加为注释;2)为了更快地获得更好的帮助,请发布一个。