javascript - Invalid character error while using atob() method -


I have read the question in this stack overflow with this code work in IE 10 but I did not work in I9,

But still I'm facing a problem on this.

  var image = canvas.toDataURL (); Image = image.replace (/ ^ data: [a-z] * ;, /, ''); Var byte string = etob (image); Var Buffer = New Array Buffer (Byte String. Lang); Var intArray = new Uint8Array (buffer); (Var i = 0; i & lt; byte string; langti; i ++) {intraRay [i] = byterestring.charcodeet (i); } Blob = new blob ([buffer], {type: "image / png"}); Window.navigator.msSaveOrOpenBlob (Blob, "test.png"); Throw an exception 0x800a139e when converting Anab (image) - Javascript runtime error: Invalid character error I tried a number of things but nothing works ...  

The variables I got in this image

data: image / png, base 64, iVBORw0KGgoAAAANSUhEUgAAAcIAAAGQCAYAAAA9XmC5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABJFSURBVHhe7dvPa5x3fsDxeaR0l3UO9dLuSnJLE3rpzc6pp0KUQ2MLL8Xk1BZWt + 7BhmKaGYctfKR3ng8vjyZTE6W5St98PZnF9ZO / NeZsiyWt0 + c // RUWQBHxIkQjlBGsEx7Eb / 7ZbqQF23zz22vvf + L6 + f / Um4BQDeNRqPtvMoy194TQsc5EcIRatv2SZnmY9L1HOOUuDPdADpJCOEIRfQex7BaviCzkXsRxwc5At3kyzJwxMoXZmZfdLnZ7 / c3yxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvk F6vf8DAs32KwowBEUAAAAASUVORK5CYII = Please help me .. Thanks in advance ..

1) Your base 64 encoded string may be full Is not valid as well. You can try to use this code instead of atob

  var decodeBase64 = function {s} {var e = {}, i, b = 0 , C, x, l = 0, a, r = ', w = String.fromCharCode, L = s.length; Var A = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 +/"; For (i = 0; i & lt; 64; i ++) {e [achat (i)] = i;} for (x = 0; x  l; 6) + c; L + = 6; Whereas (L> = 8) {((= (b>> (L = 8)) & amp; 0xff) || (X & LT; (L2)) & Amp; & Amp; (R + = w (A));}} Return R; };  

2) I think it should be image = image.replace (/ ^ [^,] +, /, '')

3) As far as I know, the support for Blob in IE starts with version 10 -


Comments