티스토리 뷰
반응형
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
How to determine MIME type of file in android?
안드로이드에서 파일의 MIME 타입을 어떻게 결정할 수 있나요?
문제 내용
Suppose I have a full path of file like:(/sdcard/tlogo.png). I want to know its mime type.
파일의 전체 경로(/sdcard/tlogo.png)가 있다고 가정해봐요. 해당 파일의 MIME 타입을 알고 싶습니다.
I created a function for it
그에 대한 함수를 만들었습니다.
public static String getMimeType(File file, Context context)
{
Uri uri = Uri.fromFile(file);
ContentResolver cR = context.getContentResolver();
MimeTypeMap mime = MimeTypeMap.getSingleton();
String type = mime.getExtensionFromMimeType(cR.getType(uri));
return type;
}
but when i call it, it returns null.
하지만 호출해도 null이 반환됩니다.
File file = new File(filePath);
String fileType=CommonFunctions.getMimeType(file, context);
높은 점수를 받은 Solution
First and foremost, you should consider calling MimeTypeMap#getMimeTypeFromExtension()
, like this:
가장 먼저 고려해야 할 것은 MimeTypeMap#getMimeTypeFromExtension()을 호출하는 것입니다. 아래와 같이 사용할 수 있습니다:
// url = file path or whatever suitable URL you want.
public static String getMimeType(String url) {
String type = null;
String extension = MimeTypeMap.getFileExtensionFromUrl(url);
if (extension != null) {
type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}
return type;
}
가장 최근 달린 Solution
In kotlin it's way simpler.
코틀린에서는 더욱 간단합니다.
Solution 1:
해결책 1:
fun getMimeType(file: File): String? =
MimeTypeMap.getSingleton().getMimeTypeFromExtension(file.extension)
Solution 2: (File extension fuction)
해결책 2: (파일 확장자 함수)
fun File.mimeType(): String? =
MimeTypeMap.getSingleton().getMimeTypeFromExtension(this.extension)
출처 : https://stackoverflow.com/questions/8589645/how-to-determine-mime-type-of-file-in-android
반응형
'개발 > 안드로이드' 카테고리의 다른 글
안드로이드 모바일 웹사이트(어플리케이션이 아닌)에서 WhatsApp으로 링크 공유하기 (0) | 2023.01.05 |
---|---|
Android에서 파일로 문자열 읽기/쓰기 (0) | 2023.01.04 |
인터넷 연결 확인하기 (0) | 2023.01.04 |
탭 호스트 액티비티에서 결과(startActivityForResult) 반환하기 (0) | 2023.01.03 |
인텐트의 모든 extra 데이터 출력하기 (0) | 2023.01.03 |
댓글
공지사항
최근에 올라온 글