从数据接口直接请求到图片的base64格式
一开始的思路是base64转二进制,再存到本地
wx.base64ToArrayBuffer和wx.createBufferURL
wx.base64ToArrayBuffer停止维护了,但是还能用
wx.createBufferURL在开发工具上转为http://127.0.0.1:xx/xx,而真机返回的是wxblob/xx。
模拟器返回的路径点击可以打开图片,但真机的不行。BUT,在调用图片分享方法时,传入url不能调起分享功能
实际解决思路:
步骤一,base64格式图片直接存到本地;步骤二、使用指定的本地路径分享图片
1、截取base64图片的后部分,去除data:image/png;base64,前缀
let baseData = res.data.split(',')[1]
2、使用文件管理器将文件存入本地
var fs = wx.getFileSystemManager();
fs.writeFile({
filePath: wx.env.USER_DATA_PATH + '/pic6.png',//随意图片名称
data: baseData ,//截取后的base64数据
encoding: 'base64',
success: (res) => {
//3、保存成功后,使用指定路径,分享图片
wx.showShareImageMenu({
path: wx.env.USER_DATA_PATH + '/pic6.png',//和保存路径一样
style: 'v2',
needShowEntrance: true,
entrancePath: "pages/share/share"
})
}
})
![](https://img.haomeiwen.com/i3638637/fdddebdeab028630.png)
网友评论