my solution using cordova-plugin-file
//tested with this three types
let url_file = "file:///sdcard/content.txt";
//let url_file = "file:///storage/emulated/0/content.txt";
//let url_file = "content://com.asus.filemanager.OpenFileProvider/file/storage/3266-3836";
url_file = url_file.replace("file:///sdcard/", "");
let file_name;
if(url_file.indexOf("content://") !== -1 || url_file.indexOf("file://") !== -1) {
window.resolveLocalFileSystemURL(url_file, gotFile, fail);
} else {
let aux = url_file.split("/");
file_name = aux[aux.length - 1];
aux.splice(aux.length - 1, 1);
url_file = aux.join("/");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getDirectory(url_file, { create: false, exclusive: false }, gotDirEntry, fail);
}
function gotDirEntry(dirEntry) {
dirEntry.getFile(file_name, { create: false, exclusive: false }, gotFile, fail);
}
function gotFile(fileEntry) {
fileEntry.file(function (file) {
let reader = new FileReader();
reader.onloadend = function (evt) {
console.log(this.result);
}
reader.readAsText(file);
}, fail);
}
function fail(error) {
console.log(error);
}