반응형
첨부파일 작업중에 여러형식의 파일을 제어 해야한다.
바쁘신분들은 바로 이거 참조
구글 mime type Link
Intent에
- type을 */* 주고
- EXTRA_MIME_TYPES에 적용할 MimeType들을 String배열로 넣어주면 된다.
type = "*/*"
val mimeTypes = arrayOf("각 MimeType", "각 MimeType")
putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes)
MIME TYPE을 인터넷으로 검색 했지만 잘 나오지 않는 파일형식들도 있었다!
그래서 파일 하나하나 로그를 찍어가면서 살펴 보았습니다.
- Mime Type 가져오기
fun getMimeType(uri: Uri): String? {
var mimeType: String? = null
mimeType = if (ContentResolver.SCHEME_CONTENT == uri.scheme) {
val cr: ContentResolver = getContentResolver()
cr.getType(uri)
} else {
val fileExtension = MimeTypeMap.getFileExtensionFromUrl(uri
.toString())
MimeTypeMap.getSingleton().getMimeTypeFromExtension(
fileExtension.lowercase(Locale.getDefault()))
}
return mimeType
}
- 파일명 가져오기
fun getFileName(uri: Uri) {
val cursor: Cursor? = contentResolver?.query(uri, null, null,
null, null)
cursor.use { cursor ->
if (cursor != null && cursor.moveToFirst()) {
val displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME))
Log.e("JHTEST", "File Name : ${displayName}")
}
}
}
Mime Type
인터넷에서 Mime Type에 대해 검색해 보았습니다.
실제 인터넷에 적힌것과 다른것도 있었습니다.
(실제 파일을 첨부하여 소스로 로그 찍어보았습니다.)
제가 정확한건 아닙니다! 다들 잘 알아보시길..
빨간글씨 : 내가 제어해야할 파일 형식들
파란글씨 : 실제 인터넷과 달랐던 형식들, 로그에 찍힌 MimeType
오디오 | audio/mpeg | mp3 mpga mpega mp2 m4a |
문서 | application/msword | doc dot |
문서 | application/vnd.openxmlformats-officedocument.wordprocessingml.document | docx |
문서 | application/vnd.openxmlformats-officedocument.wordprocessingml.template | dotx |
문서 | text/rtf | rtf |
문서 | application/vnd.ms-excel | xls xlt |
문서 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | xlsx |
문서 | application/vnd.openxmlformats-officedocument.spreadsheetml.template | xltx |
문서 | application/vnd.ms-powerpoint | ppt pps pot |
문서 | application/vnd.openxmlformats-officedocument.presentationml.presentation | pptx |
문서 | application/vnd.openxmlformats-officedocument.presentationml.slideshow | ppsx |
문서 | application/vnd.openxmlformats-officedocument.presentationml.template | potx |
문서 | application/pdf | |
문서 | hwp | |
문서 | ||
문서 | hml | |
문서 | ||
문서 | application/octet-stream | show cell hwdt hwpx hwt |
문서 | application/vnd.ms-excel.sheet.macroenabled.12 | xlsm |
실제 로그 찍어본 스샷 (안드로이드에서 확인한겁니다)
반응형
'안드로이드' 카테고리의 다른 글
Firebase FCM 기존 HTTP에서 HTTP v1로 마이그레이션 (0) | 2024.01.29 |
---|---|
테스트 코드 작성 junit assertEquals (0) | 2023.10.13 |
Waiting for target device to come online (0) | 2023.07.06 |
Android DatePicker Divider 색상 변경 (0) | 2023.06.20 |
WebView zoom in/out 안될 경우 (0) | 2023.06.14 |