在调用图库选图片后图库给的图片路径的content://的没有后缀名如何判断图片是png还是gif?如果有通过bitmap判断的方法也行!
认证高级PHP讲师
Anda boleh mendapatkan nama mengikut laluan imej, kemudian gunakan "." untuk membahagikan perkataan
Tentukan jenis imej mengikut pengecam pengepala fail, rujukan: http://zjf30366.blog.163.com/...
通过文件头信息获取
/** * 获取文件类型 * @param filePath * @return */ public static String getImageType(String filePath) { FileInputStream is = null; String value = null; try { is = new FileInputStream(filePath); byte[] b = new byte[3]; is.read(b, 0, b.length); value = bytesToHexString(b); } catch (Exception e) { } finally { if(null != is) { try { is.close(); } catch (IOException e) {} } } if("FFD8FF".equals(value)){ return "jpg"; } else if("FFD8FF".equals(value)){ return "jpg"; } else if("47494638".equals(value)){ return "gif"; } else if("424D".equals(value)){ return "bmp"; } return value; } private static String bytesToHexString(byte[] src){ StringBuilder builder = new StringBuilder(); if (src == null || src.length <= 0) { return null; } String hv; for (int i = 0; i < src.length; i++) { hv = Integer.toHexString(src[i] & 0xFF).toUpperCase(); if (hv.length() < 2) { builder.append(0); } builder.append(hv); } return builder.toString(); }
// mFileTypes.put("FFD8FF", "jpg");// mFileTypes.put("89504E47", "png");// mFileTypes.put("47494638", " gif");// mFileTypes.put("49492A00", "tif");// mFileTypes.put("424D", "bmp");// //// mFileTypes.put("41433130" , "dwg"); //CAD// mFileTypes.put("38425053", "psd");// mFileTypes.put("7B5C727466", "rtf"); //日记本// mFileTypes.put("3C3F786D6C", "xml");// mFileTypes.put("68746D6C3E", "html");// mFileTypes.put("44656C69766572792D646174653A", "eml"); //邮件// mFileTypes.put("D0CF11E0", "doc");// mFileTypes.put("5374616E64617264204A", "mdb");// mFileTypes.put("252150532D41646F6265", "ps");// mFileTypes.put("255044462D312E", "pdf");// mFileTypes.put("504B030"); 🎜>// mFileTypes.put("52617221", "rar");// mFileTypes.put("57415645", "wav");// mFileTypes.put("41564920", "avi");// mFileTypes.put("2E524D46", "rm");// mFileTypes.put("000001BA", "mpg");// mFileTypes.put("000001B3", "mpg");// mFileTypes.put( "6D6F6F76", "mov");// mFileTypes.put("3026B2758E66CF11", "asf");// mFileTypes.put("4D546864", "mid");// mFileTypes.put("1F8B08", "gz");// mFileTypes.put("", "");// mFileTypes.put("", "");
Mendapatkannya melalui pengepala fail agak menyusahkan. Cara terbaik ialah mendapatkan nama fail dan memintas akhirannya untuk menentukan jenisnya. Inilah cara sistem Windows menentukan jenis fail, jadi tidak akan ada masalah untuk berbuat demikian.
Anda boleh mendapatkan nama mengikut laluan imej, kemudian gunakan "." untuk membahagikan perkataan
Tentukan jenis imej mengikut pengecam pengepala fail, rujukan: http://zjf30366.blog.163.com/...
通过文件头信息获取
// mFileTypes.put("FFD8FF", "jpg");
// mFileTypes.put("89504E47", "png");
// mFileTypes.put("47494638", " gif");
// mFileTypes.put("49492A00", "tif");
// mFileTypes.put("424D", "bmp");
// //
// mFileTypes.put("41433130" , "dwg"); //CAD
// mFileTypes.put("38425053", "psd");
// mFileTypes.put("7B5C727466", "rtf"); //日记本
// mFileTypes.put("3C3F786D6C", "xml");
// mFileTypes.put("68746D6C3E", "html");
// mFileTypes.put("44656C69766572792D646174653A", "eml"); //邮件
// mFileTypes.put("D0CF11E0", "doc");
// mFileTypes.put("5374616E64617264204A", "mdb");
// mFileTypes.put("252150532D41646F6265", "ps");
// mFileTypes.put("255044462D312E", "pdf");
// mFileTypes.put("504B030"); 🎜>// mFileTypes.put("52617221", "rar");
// mFileTypes.put("57415645", "wav");
// mFileTypes.put("41564920", "avi");
// mFileTypes.put("2E524D46", "rm");
// mFileTypes.put("000001BA", "mpg");
// mFileTypes.put("000001B3", "mpg");
// mFileTypes.put( "6D6F6F76", "mov");
// mFileTypes.put("3026B2758E66CF11", "asf");
// mFileTypes.put("4D546864", "mid");
// mFileTypes.put("1F8B08", "gz");
// mFileTypes.put("", "");
// mFileTypes.put("", "");
Mendapatkannya melalui pengepala fail agak menyusahkan. Cara terbaik ialah mendapatkan nama fail dan memintas akhirannya untuk menentukan jenisnya. Inilah cara sistem Windows menentukan jenis fail, jadi tidak akan ada masalah untuk berbuat demikian.