如何获得具有Uri的文件的MIMEtypes?
我有画廊和相机获得的Uris名单。 这些Uris是这样的: content://media/externalhttp://img.dovov.commedia/94
。 我怎样才能得到它的MIMEtypes?
你可以试试
ContentResolver cR = context.getContentResolver(); MimeTypeMap mime = MimeTypeMap.getSingleton(); String type = mime.getExtensionFromMimeType(cR.getType(uri));
编辑:
mime.getExtensionFromMimeType(cR.getType(uri))
返回 – >“jpeg”
cR.getType(uri);
返回期望值“image / jpeg”。
这个方法返回文件的扩展名(jpg,png,pdf,epub等)。
public static String getMimeType(Context context, Uri uri) { String extension; //Check uri format to avoid null if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) { //If scheme is a content final MimeTypeMap mime = MimeTypeMap.getSingleton(); extension = mime.getExtensionFromMimeType(context.getContentResolver().getType(uri)); } else { //If scheme is a File //This will replace white spaces with %20 and also other special characters. This will avoid returning null values on file name with spaces and special characters. extension = MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uri.getPath())).toString()); } return extension; }
而不是这个:
String type = mime.getExtensionFromMimeType(cR.getType(uri));
做这个:
String type = cR.getType(uri);
你会得到这个: image/jpeg
。