I want to get a base64-String from an firebase hostet image-URL. It's working well on all Browsers, but not when I'm building an iOS or Android App with ionic.
getDataUrl(url) {
return new Promise(function (resolve, reject) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'blob';
request.onload = function () {
var reader = new FileReader();
reader.readAsDataURL(request.response);
reader.onload = function (e) {
console.log('DataURL:', e.target.result);
resolve(e.target.result)
};
reader.onerror= function (e) {
console.log('Error:', e.target.error.code);
reject(e.target.result)
};
};
request.send();
});
}
Unfortunately it seems to stop at reader.readAsDataURL(request.response); but there is no logged error to check.
Had to add this:
if (request.response instanceof Blob) {
const realFileReader = (reader as any)._realReader;
if (realFileReader) {
reader = realFileReader;
}
}
from https://github.com/danielsogl/awesome-cordova-plugins/issues/505#issuecomment-698831447