A액티비티에서 갤러리로 접근 registerforreuslt로 해서 사진을 받아서 아래의 코드를 이용,
사진 업로드하는 api를 콜하는데요 content://로 시작하는걸 멀티파트로 바꿔서
정상적으로 호출됩니다
suspend fun postUploadFile(uri: Uri): Flow<String> {
return flow {
val requestBody = ContentUriRequestBody(App.instance.contentResolver, uri)
val body =
MultipartBody.Part.createFormData("file", requestBody.getFileName(), requestBody)
emit(service.awaitPostFile(body).string())
}
}
그러고 나서 B액티비티에서 서버에 보냈던 사진을 다시 받아다가 리사이클러뷰에 뿌려주고
제가 갤러리에서 가져왔던 파일경로를 들고있다가 다시 저 메소드를 통해서 api를 호출하는데
java.lang.SecurityException: Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider from ProcessRecord{96393e1 5944:com.패키지명/u0a590} (pid=5944, uid=10590) requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs
다음과 같은 익셉션이 떨어집니다 왜그런걸까요.. uri는 content://로 시작하는거 확인했구요
멀티파트로 변환해서 전송하는데 왜 익셉션이 떨어지는건지 모르겠습니다