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
|
|
} |