我正在使用以下代码将文件uri(从sdcard /外部存储器中选择)转换为路径并将此路径上传到服务器。从内部存储器上传文件时,它工作得很好。当我试图从外部存储器/ SD卡选择一个文件到我正在获得的服务器 java.io.fileNotFoundException:/ mnt / media_rw /:/ open failed:EACCESS(Permission denied)。我已将所有权限都包含在Manifest文件中。
private String getRealPathFromURI(Uri contentURI) {
String result;
Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);
if (cursor == null) { // Source is Dropbox or other similar local file path
result = contentURI.getPath();
} else {
cursor.moveToFirst();
int idx = cursor.getColumnIndex(MediaStore.Files.FileColumns.DATA);
result = cursor.getString(idx);
cursor.close();
}
return result;
}