公衆号開発のget LocalImgData互換性の問題
2772 ワード
公衆号開発のget LocalImgData互換性の問題問題 ソリューション コード 問題
最近公衆番号を開発する時、穴がたくさんありますので、記録してください.写真を選んでから裁断プレビューなどの機能が必要です.長い間探してみましたが、やはりwexin_を使っています.jssdkの方が便利です.以下sdkといいます.全部で中の三つのインターフェースchoseImageを使って写真を選んでいます.previewImageは画像get LocalImgDataをプレビューして画像を取得するためのBase 64の前の二つのAPIは大丈夫です.get LocalImgDataのAPIはテストしました.開発ツールとiOSの上では正常ですが、Androidの上で取得したbase 64は問題があって、ラベルを付与できなくなりました.OSが微信内部にあるブラウザが一致しないため、Androidのget LocalImgDataが持っているlocalDataが不足していることを確認しました.
ソリューション
二つの考えがあります.一つは、現在の環境がIOSかAndroidかを判断することです.しかし、この案は比較的にややこしいです.IOSには二つのブラウザのカーネルがあります.二つ目の案は、獲得したlocalDataがdataがあるかどうかを判断することです.imageという頭がないなら、それに加えます.
コード
最近公衆番号を開発する時、穴がたくさんありますので、記録してください.写真を選んでから裁断プレビューなどの機能が必要です.長い間探してみましたが、やはりwexin_を使っています.jssdkの方が便利です.以下sdkといいます.全部で中の三つのインターフェースchoseImageを使って写真を選んでいます.previewImageは画像get LocalImgDataをプレビューして画像を取得するためのBase 64の前の二つのAPIは大丈夫です.get LocalImgDataのAPIはテストしました.開発ツールとiOSの上では正常ですが、Androidの上で取得したbase 64は問題があって、ラベルを付与できなくなりました.OSが微信内部にあるブラウザが一致しないため、Androidのget LocalImgDataが持っているlocalDataが不足していることを確認しました.
ソリューション
二つの考えがあります.一つは、現在の環境がIOSかAndroidかを判断することです.しかし、この案は比較的にややこしいです.IOSには二つのブラウザのカーネルがあります.二つ目の案は、獲得したlocalDataがdataがあるかどうかを判断することです.imageという頭がないなら、それに加えます.
コード
window.wx.getLocalImgData({
localId: id, // localID
success:res => {
let {localData} = res; // localData base64 , img
if (localData.startsWith('data:image')) { //
//
localData = 'data:image/jpeg;base64,' + localData
}
//
localData = localData.replace(/\r|
/g, '')
}
});