मेरे पास गैलरी और कैमरा के साथ प्राप्त की गई एक सूची है। ये Uris इस तरह हैं content://media/external/images/media/94
:। मैं इसका माइम प्रकार कैसे प्राप्त कर सकता हूं?
मेरे पास गैलरी और कैमरा के साथ प्राप्त की गई एक सूची है। ये Uris इस तरह हैं content://media/external/images/media/94
:। मैं इसका माइम प्रकार कैसे प्राप्त कर सकता हूं?
जवाबों:
तुम कोशिश कर सकते हो
ContentResolver cR = context.getContentResolver();
MimeTypeMap mime = MimeTypeMap.getSingleton();
String type = mime.getExtensionFromMimeType(cR.getType(uri));
संपादित करें:
mime.getExtensionFromMimeType(cR.getType(uri))
रिटर्न -> "jpeg"
cR.getType(uri);
"छवि / जेपीईजी" देता है जो अपेक्षित मूल्य है।
cR.getType(uri)
लेकिन इसके लिए ime.getExtensionFromMimeType(cR.getType(uri));
मैं अशक्त हो जाता हूं। .Csv सिर्फ समर्थित या कुछ और नहीं है?
यह विधि फ़ाइल का विस्तार (jpg, png, pdf, epub etc ..) लौटाती है।
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;
}
के लिए Content
Uri
।
ContentResolver cr = context.getContentResolver();
mimeType = cr.getType(contentUri);
के लिए File
Uri
।
String fileExtension = MimeTypeMap.getFileExtensionFromUrl(fileUri
.toString());
mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
fileExtension.toLowerCase());
दोनों के लिए, Content
साथ ही साथ काम करता है File
।
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;
}
इसके अलावा:
String type = mime.getExtensionFromMimeType(cR.getType(uri));
यह करो:
String type = cR.getType(uri);
और आपको यह मिलेगा image/jpeg
:।
mime.getExtensionFromMimeType(cR.getType(uri))
मुझे लौटाता है"jpeg"
लेकिन वहcR.getType(uri)
रिटर्न देता"image/jpeg"
है जो अपेक्षित मूल्य है।