27 lines
		
	
	
		
			714 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			714 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | const fsm = wx.getFileSystemManager(); | ||
|  | 
 | ||
|  | 
 | ||
|  | const  base64src =async function(base64data , id) { | ||
|  |   return new Promise((resolve, reject) => { | ||
|  |     const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || []; | ||
|  | 	const FILE_BASE_NAME = id; | ||
|  |     if (!format) { | ||
|  |       reject(new Error('ERROR_BASE64SRC_PARSE')); | ||
|  |     } | ||
|  |     const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`; | ||
|  |     const buffer = wx.base64ToArrayBuffer(bodyData); | ||
|  |     fsm.writeFile({ | ||
|  |       filePath, | ||
|  |       data: buffer, | ||
|  |       encoding: 'binary', | ||
|  |       success() { | ||
|  |         resolve(filePath); | ||
|  |       }, | ||
|  |       fail() { | ||
|  |         reject(new Error('ERROR_BASE64SRC_WRITE')); | ||
|  |       }, | ||
|  |     }); | ||
|  |   }); | ||
|  | }; | ||
|  | 
 | ||
|  | export default base64src; |