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