您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關小程序如何查看base64圖片的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
一、后臺傳過來的圖片為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鏈接列表 }) } })
感謝各位的閱讀!關于“小程序如何查看base64圖片”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。