赞
踩
一次在开发小程序过程中后台返回的小程序码用image标签直接显示,最后测试发现在iOS上长按图片不能发送给朋友、转发和保存。
经过分析发现那是因为后台返回的图片是base64编码的图片,虽然在base64字符串前面加上"data:image/png;base64,"可以显示出来图片,但是iOS识别出来无法发送等。
解决办法就是先把base64图片转成临时文件,再显示出来:
- var dataUrl = "data:image/png;base64," + res.data;// 拼接base64图片路径
- var fs = wx.getFileSystemManager();
- var codeimg = wx.env.USER_DATA_PATH + '/temp.png';// 构建临时图片路径
- fs.writeFile({
- filePath: codeimg,
- data: dataUrl.slice(22),
- encoding: 'base64',
- success: () => {
- _that.setData({
- src: codeimg// 显示图片
- })
- }
- });
有用请支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。