diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-09-03 22:33:58 -0400 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-09-11 16:05:39 -0400 | 
| commit | ee2466eb22754c7f4a3296d23f8002bb97c4dfb9 (patch) | |
| tree | 535801cfabec21a81d2a9ee57b14ef1b8f7678ed /ext/js/data | |
| parent | 764d59df137dacfa6b4cfa8394b711fda904efd9 (diff) | |
Dictionary media import improvements (#1926)
* Add base64ToArrayBuffer to StringUtil
* Remove unnecessary media-util.js import
* Run async requirements in serial rather than parallel
* Update API.getMedia handler to convert ArrayBuffer content to base64
* Rename getImageResolution to getImageDetails
* Change parameter order of getImageDetails
* Pre-process and store media as an ArrayBuffer
* Remove MediaUtil.createBlobFromBase64Content
* Fix Anki media injection
Diffstat (limited to 'ext/js/data')
| -rw-r--r-- | ext/js/data/sandbox/string-util.js | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/ext/js/data/sandbox/string-util.js b/ext/js/data/sandbox/string-util.js index 37e021c9..b523c39d 100644 --- a/ext/js/data/sandbox/string-util.js +++ b/ext/js/data/sandbox/string-util.js @@ -58,4 +58,19 @@ class StringUtil {              return binary;          }      } + +    /** +     * Converts a base64 string to an ArrayBuffer. +     * @param content The binary content string encoded in base64. +     * @returns A new `ArrayBuffer` object corresponding to the specified content. +     */ +    static base64ToArrayBuffer(content) { +        const binaryContent = atob(content); +        const length = binaryContent.length; +        const array = new Uint8Array(length); +        for (let i = 0; i < length; ++i) { +            array[i] = binaryContent.charCodeAt(i); +        } +        return array.buffer; +    }  } |