Volsatik

Untitled

Apr 21st, 2023
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. function base64ToBlob(base64, mime) {
  2. mime = mime || '';
  3. var sliceSize = 1024;
  4. function base64decode(str) {
  5. let decode = atob(str).replace(/[\x80-\uffff]/g, (m) => `%${m.charCodeAt(0).toString(16).padStart(2, '0')}`)
  6. return decodeURIComponent(decode)
  7. }
  8.  
  9. var byteChars = base64decode(base64);
  10. var byteArrays = [];
  11.  
  12. for (var offset = 0, len = byteChars.length; offset < len; offset += sliceSize) {
  13. var slice = byteChars.slice(offset, offset + sliceSize);
  14.  
  15. var byteNumbers = new Array(slice.length);
  16. for (var i = 0; i < slice.length; i++) {
  17. byteNumbers[i] = slice.charCodeAt(i);
  18. }
  19.  
  20. var byteArray = new Uint8Array(byteNumbers);
  21.  
  22. byteArrays.push(byteArray);
  23. }
  24.  
  25. return new Blob(byteArrays, { type: mime });
  26. }
Add Comment
Please, Sign In to add comment