图片能支持base64吗?
Seanxwy opened this issue · comments
图片能支持base64吗?
wx.base64ToArrayBuffer
已废弃,FileSystemManager.writeFile
可以直接写入 base64
字符串
// 微信小程序 base64 转本地文件地址
export function base64src(base64) {
return new Promise((resolve, reject) => {
const FILE_BASE_NAME = 'tmp_base64src'
const fileManager = wx.getFileSystemManager()
const [, format, bodyData] =
/data:image\/(\w+);base64,(.*)/.exec(base64) || []
if (!format) {
reject(new Error('ERROR_BASE64SRC_PARSE'))
return
}
const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`
fileManager.writeFile({
filePath,
data: bodyData,
encoding: 'base64',
success() {
wx.getImageInfo({
src: filePath,
success(res) {
resolve(res)
},
fail() {
reject(new Error('ERROR_BASE64SRC_READ'))
}
})
},
fail() {
reject(new Error('ERROR_BASE64SRC_WRITE'))
}
})
})
}