-
Star
(153)
You must be signed in to star a gist -
Fork
(19)
You must be signed in to fork a gist
-
-
Save borismus/1032746 to your computer and use it in GitHub Desktop.
var BASE64_MARKER = ';base64,'; | |
function convertDataURIToBinary(dataURI) { | |
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length; | |
var base64 = dataURI.substring(base64Index); | |
var raw = window.atob(base64); | |
var rawLength = raw.length; | |
var array = new Uint8Array(new ArrayBuffer(rawLength)); | |
for(i = 0; i < rawLength; i++) { | |
array[i] = raw.charCodeAt(i); | |
} | |
return array; | |
} |
Thanks so much!
Hey mann,
I really wanna thankyou for posting this out.
I have spent more than 5 hours scratching my head, and your 10 lines function just solved my problem.
Thankyou so much
Thank you so much man. 👍
Thank you so much!
Thank you. Saved the day on a pretty rough server post limitation (CFAccess)
thank you so much!
How to reverse process. Binary data to Base64?
How do I use it in react native?
thanks
Thank you! This is great.
Thanks!
I got the error. Error is : window is not defined. Any ideas?
I got the error. Error is : window is not defined. Any ideas?
That way you are not running this code in a browser, but on a NodeJs backend?
You can try using this package's atob()
instead of window.atob()
https://www.npmjs.com/package/atob
I got the error. Error is : window is not defined. Any ideas?
That way you are not running this code in a browser, but on a NodeJs backend?
You can try using this package'satob()
instead ofwindow.atob()
https://www.npmjs.com/package/atob
Woaah! Thank you very much! It worked.
Hola, espero se encuentren bien.
¿Alguien pudiera ayudarme con la implementación en React JS?
Según entiendo:
1.) Convierten el archivo a base 64.
2.) Utilizan la función convertDataURIToBinary pasando como parámetro el base 64 retornando un arreglo
3.) El arreglo de retorno lo pasan como parámetro a PDFJS.getDocument(array)
Mi pregunta es, ¿donde llaman a PDFJS.getDocument(array) para que muestre el pdf en la librería?
Sólo estoy un poco perdido en la implementación si alguien pudiera aclararme un poco lo agradecería, gracias.
Hello, I hope you are well.
Could someone help me with the implementation in React JS?
As I understand it:
1.) They convert the file to base 64.
2.) They use the function convertDataURIToBinary passing as parameter the base 64 returning an array
3.) The return array is passed as a parameter to PDFJS.getDocument(array)
My question is, where do you call PDFJS.getDocument(array) to display the pdf in the library?
I'm just a little lost in the implementation if someone could clarify it for me a little bit I would appreciate it, thanks.
Thank you, @borismus!
One liner to convert Base64 to Uint8Array:
function Uint8ArrayFromBase64(base64)
{
return Uint8Array.from(window.atob(base64), (v) => v.charCodeAt(0));
}
One liner to convert Base64Url to Uint8Array:
function Uint8ArrayFromBase64Url(base64Url)
{
return Uint8Array.from(window.atob(base64Url.replace(/-/g, "+").replace(/_/g, "/")), (v) => v.charCodeAt(0));
}
ERROR: Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded
I am running it with typescript react. Any idea?
Thanks for this! The only solution that worked for me @borismus
How to convert this recordfile:///var/mobile/Containers/Data/Application/9C0F0870-EA7F-4CD2-9C42-30A3E9862012/Library/Caches/hello.m4a into binary format.
Thank you so much sir, very respects <3
Thank you very much for this, after a week of pulling my hair out. This is the only solution that works for me.
Thank you very much, you save my work
Thank you, good work !
Thank you man! you save my day!
Thanks buddy, save my day!
It can be even shorter (1 line): https://gist.github.com/av01d/e60f6edf3c5be6cd403eabb3d1f838f4
A note on the one-liners: While Uint8Array.from(atob(base64), (v) => v.charCodeAt(0));
really looks nice, I ran into memory issues on Chrome when converting a 200MB binary while the for-loop worked flawlessly
Uncaught DOMException: String contains an invalid character
convertDataURIToBinary debugger eval code:6
downloadFile debugger eval code:17
debugger eval code:1
Thank you so much, it's my second day working on this matter and thanks to you I finally solved it! Have a great week!