Ich habe eine Liste von Uris mit der Galerie und der Kamera erhalten. Diese Uris sind wie folgt : content://media/external/images/media/94
. Wie kann ich seinen Pantomimentyp bekommen?
android
uri
mime-types
Brais Gabin
quelle
quelle
mime.getExtensionFromMimeType(cR.getType(uri))
kehrt mich"jpeg"
abercR.getType(uri)
zurückkehrt ,"image/jpeg"
dass der erwartete Wert ist.cR.getType(uri)
aber dafürime.getExtensionFromMimeType(cR.getType(uri));
bekomme ich null. Wird CSV einfach nicht unterstützt oder so?Diese Methode gibt die Erweiterung der Datei zurück (jpg, png, pdf, epub usw.).
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; }
quelle
für
Content
Uri
.für
File
Uri
.String fileExtension = MimeTypeMap.getFileExtensionFromUrl(fileUri .toString()); mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension( fileExtension.toLowerCase());
für beide funktioniert sowohl für
Content
als auchFile
.public String getMimeType(Context context, Uri uri) { String mimeType = null; if (ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) { ContentResolver cr = context.getContentResolver(); mimeType = cr.getType(uri); } else { String fileExtension = MimeTypeMap.getFileExtensionFromUrl(uri .toString()); mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension( fileExtension.toLowerCase()); } return mimeType; }
quelle
An Stelle von:
String type = mime.getExtensionFromMimeType(cR.getType(uri));
Mach das:
String type = cR.getType(uri);
Und Sie werden dies bekommen :
image/jpeg
.quelle