84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
在调用图库选图片后图库给的图片路径的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系统就这样判断文件类型,所以这么做不会有什么问题。