ギャラリーとカメラで取得した Uris のリストがあります。これらの Uris は次のようになりますcontent://media/external/images/media/94
。MIME タイプを取得するにはどうすればよいですか?
質問する
69953 次
6 に答える
203
あなたが試すことができます
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」を返します。
于 2012-09-18T09:19:54.157 に答える
35
このメソッドは、ファイルの拡張子 (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;
}
于 2016-04-09T09:09:46.427 に答える
18
のために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;
}
于 2018-03-30T09:30:28.260 に答える
8
これの代わりに:
String type = mime.getExtensionFromMimeType(cR.getType(uri));
これを行う:
String type = cR.getType(uri);
そして、あなたはこれを得るでしょう: image/jpeg
.
于 2013-03-28T11:05:14.983 に答える