微信 h5 中的 chooseImage 接口拿到 localId 后無(wú)法通過(guò) img 標(biāo)簽顯示圖片
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
最近的一個(gè)微信 h5 項(xiàng)目,用到了 微信 jssdk 的 chooseImage 方法,遇到了坑,在這里記一下 需求是用戶拍照或上傳本地圖片,先顯示出來(lái),然后再上傳圖片做其他的事情,弄的過(guò)程中發(fā)現(xiàn),安卓可以使用 chooseImage 方法返回的 localId 顯示圖片,ios 顯示不出圖片 查了下,找到了解決方法: ios 微信6.5.3版本開(kāi)始支持開(kāi)發(fā)者手動(dòng)切換 WKWebview 和 UIWebview,使開(kāi)發(fā)者可提前對(duì) WKWebview 進(jìn)行適配 WKWebview 不再支持通過(guò)使用 chooseImage api 返回的 localld ,如:”img src=wxLocalResource://50114659201332” 的方式預(yù)覽圖片。 在iOS微信6.5.3版本及之后的版本中,使用新增的 jsapi:getLocalImgData 拿到 LocalID 對(duì)應(yīng)的圖片base64編碼后再在前端頁(yè)面中顯示 也就是說(shuō),在 ios 上,chooseImage 拿到圖片的 localId 后,再使用 getLocalImgData 方法拿到 localId 對(duì)應(yīng)的圖片 base64 栗子: wx.chooseImage({ count: 1, // 默認(rèn)9 sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有 sourceType: ['album', 'camera'], // 可以指定來(lái)源是相冊(cè)還是相機(jī),默認(rèn)二者都有 success: (res) => { var localIds = res.localIds.toString(); // 返回選定照片的本地ID列表,localId可以作為img標(biāo)簽的src屬性顯示圖片 this.imgUrl = localIds; if (isIos()) { wx.getLocalImgData({ localId: localIds, // 圖片的localID success: (res) => { this.imgUrl = res.localData // localData是圖片的base64數(shù)據(jù),可以用img標(biāo)簽顯示 }, }) } }, }) 該文章在 2023/6/8 11:40:15 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |