From d80dabe2989868bd86b49dab794fbff4f061b273 Mon Sep 17 00:00:00 2001 From: Hafez Date: Mon, 8 Aug 2022 22:01:27 +0200 Subject: [PATCH] fix(read): allow reading base64 files from a dataURI scheme --- modules/04_base64.js | 3 ++- modules/04_base64.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/04_base64.js b/modules/04_base64.js index 53f40f5..58563aa 100644 --- a/modules/04_base64.js +++ b/modules/04_base64.js @@ -48,7 +48,8 @@ function Base64_encode_pass(input) { function Base64_decode(input) { var o = ""; var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0; - input = input.replace(/[^\w\+\/\=]/g, ""); + input = input.replace(/[^\w\+\/\=]/g, "") + .replace(/^data:.+\/.+;base64\,/,''); for (var i = 0; i < input.length; ) { e1 = Base64_map.indexOf(input.charAt(i++)); e2 = Base64_map.indexOf(input.charAt(i++)); diff --git a/modules/04_base64.ts b/modules/04_base64.ts index 154a446..295a553 100644 --- a/modules/04_base64.ts +++ b/modules/04_base64.ts @@ -40,7 +40,8 @@ function Base64_encode_pass(input: string): string { function Base64_decode(input: string): string { var o = ""; var c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0; - input = input.replace(/[^\w\+\/\=]/g, ""); + input = input.replace(/[^\w\+\/\=]/g, "") + .replace(/^data:.+\/.+;base64\,/,''); for(var i = 0; i < input.length;) { e1 = Base64_map.indexOf(input.charAt(i++)); e2 = Base64_map.indexOf(input.charAt(i++));