You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
434 B
37 lines
434 B
/*
|
|
* 公共方法
|
|
*
|
|
*/
|
|
|
|
const base64ToFile = (dataurl, filename = 'file') => {
|
|
|
|
let arr = dataurl.split(',')
|
|
|
|
let mime = arr[0].match(/:(.*?);/)[1]
|
|
|
|
let suffix = mime.split('/')[1]
|
|
|
|
let bstr = atob(arr[1])
|
|
|
|
let n = bstr.length
|
|
|
|
let u8arr = new Uint8Array(n)
|
|
|
|
while (n--) {
|
|
|
|
u8arr[n] = bstr.charCodeAt(n)
|
|
|
|
}
|
|
|
|
return new File([u8arr], `${filename}.${suffix}`, {
|
|
|
|
type: mime
|
|
|
|
})
|
|
|
|
}
|
|
|
|
export {
|
|
base64ToFile
|
|
}
|