WebView 파일 선택, onShowFileChooser로 쉽게 구현하세요!
by DD
3년 전
조회수 5
WebView에서 파일 선택 시, 기본 기능 부재로 onShowFileChooser()를 활용해야 함
Intent를 사용하여 시스템 FileChooser를 호출하고, 파일 선택 결과를 처리함
권한 처리를 위해 FLAG_GRANT_READ_URI_PERMISSION을 설정하여 파일 접근 권한을 부여함
onShowFileChooser() 동작 원리
onShowFileChooser()는 WebView 내 파일 선택 요청 시 호출되는 콜백 함수이다. 구체적으로, HTML <input type="file"> 태그 클릭 시 안드로이드 시스템이 해당 함수를 호출한다. 따라서, 이 함수를 오버라이드하여 파일 선택 Intent를 실행하고, 결과를 처리해야 한다.
단일/복수 파일 선택 구현 비교
단일 파일 선택은 Intent.data를 통해 선택된 파일의 URI를 반환한다. 반면, 복수 파일 선택은 Intent.clipData를 통해 여러 파일의 URI 목록을 전달한다. 따라서, FileChooserParams의 MODE_OPEN_MULTIPLE 여부에 따라 다른 방식으로 데이터를 처리해야 한다.
권한 관리 및 보안 고려사항
파일 선택 후, 파일 접근을 위해 FLAG_GRANT_READ_URI_PERMISSION 권한을 부여해야 한다. 구체적으로, takePersistableUriPermission() 함수를 사용하여 권한을 영구적으로 획득한다. 따라서, content URI에 대한 접근 권한 관리는 데이터 무결성 및 보안을 위해 매우 중요하다.
댓글 0
첫 번째 댓글을 남겨보세요!