|
- type DataUriToBlob = (dataUri: string, name?: string) => Blob
-
- const dataUriToBlob: DataUriToBlob = (dataUri, name) => {
- const [encoding, base64] = dataUri
- .slice('data:'.length)
- .split(',')
- const binary = atob(base64)
- const [type,] = encoding.split(';')
- const ab = new ArrayBuffer(binary.length)
- const ia = new Uint8Array(ab)
- for (let i = 0; i < binary.length; i++) {
- ia[i] = binary.charCodeAt(i)
- }
- if (typeof name! === 'string') {
- return new File([ab], name, { type, })
- }
- return new Blob([ab], { type, })
- }
-
- export default dataUriToBlob
|