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