如何检查字节数组是.emf还是.wmf格式

时间:2015-06-02 10:18:40

标签: java

我可以使用下面的java代码检查字节数组是否像wmf,emf这样的图元文件图像

private boolean isMetaFileFormat(byte[] pictureData)
{
    BufferedImage image = null;
    try 
    {
        image = ImageIO.read(new ByteArrayInputStream(pictureData));
        if(image != null)
            return false;           
    } 
    catch (Exception e){ }
    return true;
}

但如何具体检查它是emf还是wmf图像?

提前致谢...

3 个答案:

答案 0 :(得分:2)

WMF文件的幻数为0x9AC6CDD7,EMF幻数为0x01000000

答案 1 :(得分:1)

使用Java Mime Magic Library以方便和通用的方式。 Download

MagicMatch match = Magic.getMagicMatch(your_byte_array);
String mimeType = match.getMimeType();

if(mimeType.equals("image/x-emf")) {
    //here is emf
}
if(mimeType.equals("image/x-wmf")) {
    //here is wmf
}

答案 2 :(得分:1)

您可以从字节数组中获取图像类型

//Authorise

<?php
ini_set("session.cookie_lifetime", "0");
ini_set("session.gc_maxlifetime", "3600");
session_start();
$var = $_SESSION["authenticated"];
if(strcmp($var,'yes') !== 0){
        header('Location: C:\xampp\htdocs\Edge\Authorise.php');
}
?>