es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Archivo no encontrado, fallo al abrir: EACCES (Permiso denegado) en Android 12 Almacenamiento limitado.

Cuando intenté convertir el archivo seleccionado por el usuario en el cuerpo de la solicitud, obtuve el error FileNotFound, open failed: EACCES (Permiso denegado) en Android 12. Estaba intentando subir un PDF seleccionado por el usuario mediante Retrofit Multipart Upload.

Para llamar a la intención, he usado ACTION_OPEN_DOCUMENT.

file.asRequestBody("multipart/form-data".toMediaTypeOrNull()

¿Necesito usar el permiso MANAGE_EXTERNAL_STORAGE?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, necesitas utilizar el permiso MANAGE_EXTERNAL_STORAGE para acceder a los archivos seleccionados por el usuario para cargar utilizando Retrofit Multipart Upload en Android 12. A partir de Android 11, el acceso al almacenamiento externo está restringido y requiere este permiso para leer o escribir archivos fuera del almacenamiento sandbox de tu aplicación. Por lo tanto, puedes solicitar este permiso al usuario en tiempo de ejecución utilizando el método ActivityCompat.requestPermissions() y gestionar el resultado de la solicitud de permiso en el callback onRequestPermissionsResult(). Una vez que se concede el permiso, deberías poder convertir el archivo seleccionado por el usuario en cuerpo de la solicitud correctamente.

Comments are closed.