angular - TYpescript convert an image url to base64 encoded string fails -
i convert image url base 64 fails
getbase64image(img) { var canvas = document.createelement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getcontext("2d"); ctx.drawimage(img, 0, 0); var dataurl = canvas.todataurl("image/png"); return dataurl.replace(/^data:image\/(png|jpg);base64,/, ""); }
whenever try
this.getbase64image('https://live.mystocks.co.ke/research/images/bamburi.jpg'); which image url fails
you cannot image information string, need load image first you'll need return observable or promise:
getbase64image(img:htmlimageelement) { var canvas = document.createelement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getcontext("2d"); ctx.drawimage(img, 0, 0); var dataurl = canvas.todataurl("image/png"); return dataurl.replace(/^data:image\/(png|jpg);base64,/, ""); } getbase64imagefromurl(url:string) { return observable.create((observer:observer<string>) => { let img = new image(); img.src = url; if (!img.complete) { img.onload = () => { observer.next(getbase64image(img)); observer.complete(); }; img.onerror = (err) => { observer.error(err); }; } else { observer.next(getbase64image(img)); observer.complete(); } }); }
Comments
Post a Comment