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