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

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -