25 lines
927 B
JavaScript
25 lines
927 B
JavaScript
/*!
|
|
* Jodit Editor (https://xdsoft.net/jodit/)
|
|
* Released under MIT see LICENSE.txt in the project root for license information.
|
|
* Copyright (c) 2013-2025 Valeriy Chupurnov. All rights reserved. https://xdsoft.net
|
|
*/
|
|
/**
|
|
* @module modules/uploader
|
|
*/
|
|
/**
|
|
* Convert dataURI to Blob
|
|
*/
|
|
export function dataURItoBlob(dataURI) {
|
|
// convert base64 to raw binary data held in a string
|
|
// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
|
|
const byteString = atob(dataURI.split(',')[1]),
|
|
// separate out the mime component
|
|
mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0],
|
|
// write the bytes of the string to an ArrayBuffer
|
|
ab = new ArrayBuffer(byteString.length), ia = new Uint8Array(ab);
|
|
for (let i = 0; i < byteString.length; i += 1) {
|
|
ia[i] = byteString.charCodeAt(i);
|
|
}
|
|
return new Blob([ia.buffer], { type: mimeString });
|
|
}
|