30 lines
909 B
JavaScript
30 lines
909 B
JavaScript
|
// base64转文件流
|
||
|
function 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
|
||
|
})
|
||
|
}
|
||
|
|
||
|
// 文件流转base64
|
||
|
function filetoBase64(file) {
|
||
|
let reader = new FileReader(); //实例化文件读取对象
|
||
|
reader.readAsDataURL(file); //将文件读取为 DataURL,也就是base64编码
|
||
|
reader.onload = (e) => { //文件读取成功完成时触发
|
||
|
let dataURL = e.target.result; //获得文件读取成功后的DataURL,也就是base64编码
|
||
|
// console.log(dataURL);
|
||
|
}
|
||
|
}
|
||
|
export default {
|
||
|
base64toFile,
|
||
|
filetoBase64
|
||
|
}
|