小程序怎么查看base64图片

网友投稿 692 2022-09-29

小程序怎么查看base64图片

小程序怎么查看base64图片

小程序怎么查看base64图片?下面本篇文章给大家介绍一下微信小程序中预览base64图片的方法,希望对大家有所帮助!

程序员必备接口测试调试工具:立即使用Apipost = Postman + Swagger + Mock + Jmeter Api设计、调试、文档、自动化测试工具 后端、前端、测试,同时在线协作,内容实时同步

一、后台传过来的图片为base64格式的,显示的话用【"data:image/PNG;base64," + data】就可以正常显示。然后在调用微信API接口previewImage却有诸多问题,如:

windows开发工具黑屏部分安卓机型无法显示控制台报错等

二、经过查询,找到了官方的回答。微信官方的意思是需要用url地址,不支持base64格式,以下是微信官方回答:

wx.previewImage API 预览base64图片导致微信闪退? | 微信开放社区 (qq.com)https://developers.weixin.qq.com/community/develop/doc/00088c9e44c3d880597ab22b15bc00?highLine=wx.previewImage%20base64

解决方案

思路:先把base64作为临时文件存到本地,然后预览,预览结束时删除临时文件

// 获取应用实例const app = getApp()Page({ data: { //base64数据,由后台传过来 base64: '', //本机的临时文件路径 localImgUrl: '' }, onShow: function() { // 在这里删除临时文件 var localImgUrl = this.data.localImgUrl; if(localImgUrl) { var fs = wx.getFileSystemManager(); fs.unlinkSync(localImgUrl); fs.closeSync(); } }, //预览图片 onPreviewImage() { var base64 = "data:image/PNG;base64," + this.data.base64; var imgPath = wx.env.USER_DATA_PATH + '/e-invoice' + Date.parse(new Date()) + '.png'; var imageData = base64.replace(/^data:image\/\w+;base64,/, ""); var fs = wx.getFileSystemManager(); fs.writeFileSync(imgPath, imageData, "base64"); fs.close(); this.setData({ localImgUrl: imgPath }) wx.previewImage({ urls: [imgPath] // 需要预览的图片http链接列表 }) }})-

【相关学习推荐:小程序开发教程】

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一道分页存储和缺页中断题
下一篇:自适应布局和响应式布局
相关文章

 发表评论

暂时没有评论,来抢沙发吧~