84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
在调用图库选图片后图库给的图片路径的content://的没有后缀名如何判断图片是png还是gif?如果有通过bitmap判断的方法也行!
认证高级PHP讲师
根据图片路径可以getname,然后用"."来分词就可以了
通过文件头标识判断图片类型,参考: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("504B0304", "zip");// 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("", "");
通过文件头获取有点麻烦。最好的方法就是拿到文件名然后截取其后缀来判断类型。Windows系统就这样判断文件类型,所以这么做不会有什么问题。
根据图片路径可以getname,然后用"."来分词就可以了
通过文件头标识判断图片类型,参考: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("504B0304", "zip");
// 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("", "");
通过文件头获取有点麻烦。最好的方法就是拿到文件名然后截取其后缀来判断类型。Windows系统就这样判断文件类型,所以这么做不会有什么问题。