欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

微信JS-SDK選擇圖片遇到的坑有哪些

這篇文章主要介紹了微信JS-SDK選擇圖片遇到的坑有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)阜寧,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

有個需求要在微信企業(yè)號里面做開發(fā),有個功能是選擇圖片,使用input標(biāo)簽肯定是不管用了,Android手機上不能多選,所以使用了微信的JS-SDK提供的相關(guān)API,這個地方真的是有坑。按照文檔直接引入js文件即可,如果使用的是Vue,也可以使用weixin-js-sdk,兩種方式都可以。

圖片在Android上無法預(yù)覽

js-sdk的chooseImage 接口返回的結(jié)果是localId,類似于wxLocalResource://xxxxxx,如果想得到它的base64串需要再調(diào)用getLocalImgData方法,因為我們后臺接口里需要用到這個base64串,所以通過這個接口來獲取base64串作展示,而不是用文檔里介紹的方法。那這里有個坑,從Android獲取的localData是不帶有base64前綴的,要處理一下。

selectImage: function () {
  let context = this;
  wx.chooseImage({
    count: 9,
    sizeType: ['compressed'], 
    sourceType: ['album', 'camera'], 
    defaultCameraMode: "normal", 
    success: function (res) {
      // localIds是在data里定義的一個localId數(shù)組
      context.localIds = res.localIds;
      // 不能直接遍歷這個數(shù)組
      context.updateBase64Data(context.localIds.shift());
    },
    fail: function (res) {
      alert('選擇圖片失敗:' + res.errMsg);
    },
  });
},
updateBase64Data: function (localId) {
  let context = this;
  wx.getLocalImgData({
    localId: localId, // 圖片的localID
    success: function (res) {
      let localData = res.localData;
      let prefix = 'base64,';
      let index = localData.indexOf(prefix);
      let actData = localData;
      // 我現(xiàn)在是設(shè)置參數(shù),如果是展示的話則應(yīng)該是添加頭部data:image/jpeg;base64,
      if (index > -1) {
        actData = localData.substring(index + 7);
      }
      // base64Array是在data里定義的一個base64串?dāng)?shù)組
      context.base64Array.push(actData);
      
      if (context.localIds.length > 0) {
        context.updateBase64Data(context.loaclIds.shift());
      } else {
        // 執(zhí)行處理
      }
    },
    fail: function (res) {
      alert('選擇圖片失敗:' + res.errMsg);
    },
  });
},

getLocalImgData獲取多張圖片無響應(yīng)

chooseImage方法獲取到是一個localId的數(shù)組,如果直接遍歷這個數(shù)組去調(diào)用getLocalImgData時它只會執(zhí)行一次,后面的無論怎樣都不會執(zhí)行,猜測應(yīng)該是跟它localId的獲取有關(guān)系。所以采取了上面代碼中遞歸的方式調(diào)用,當(dāng)連續(xù)調(diào)用uploadImage上傳圖片時也要這么做。

Android無法選擇原圖

盡管在chooseImage方法可以通過sourceType字段指定是原圖還是壓縮后的圖,但是只要調(diào)用了getLocalImgData方法,那獲取到的base64串展示一定是模糊的。你在想是不是Android上面不能使用原圖啊,錯了,仔細(xì)看IOS上面的圖也是不清楚的,測試發(fā)現(xiàn)確實是這樣,原圖1.8M,使用js-sdk選擇的原圖只有不到240K,那為什么Android會模糊但是IOS比較清楚呢,你是不是又想這不是IOS和Android系統(tǒng)的區(qū)別吧,把同一張圖片通過getLocalImgData方法獲取到的base64串做比對發(fā)現(xiàn),Android上得到的base64串前綴是以gCM開頭,而IOS則是以/9j/開頭,從PC上選擇的圖也是以/9j/開頭,自己解析的圖片也是以/9j/開頭,所以不是因為壓縮變模糊了,是因為使用了不一樣的編碼變模糊了。如果真的想選擇原圖,先把圖片上傳到微信服務(wù)器,然后使用獲取臨時素材的接口https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID,把圖片下載下來,經(jīng)測試這樣其實也是有壓縮的,這個是企業(yè)號的API如果用公眾號地址是https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID。代碼就不貼了,與上面的基本一致。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信JS-SDK選擇圖片遇到的坑有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

網(wǎng)站欄目:微信JS-SDK選擇圖片遇到的坑有哪些
分享URL:http://aaarwkj.com/article14/pcdode.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站營銷、App設(shè)計響應(yīng)式網(wǎng)站、ChatGPT網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
久久精品一区二区日韩| 日韩爱爱特级视频中文字幕| 日韩av在线专区观看| 韩国专区福利一区二区| 欧美欧美一区二区三区| 日韩中文字幕专区在线| 亚洲高清中文字幕一区二三区| 国产精品欧美一区久久| 日韩激情一区二区三区| heyzo高清中文字幕在线| 视频一区二区中文字幕日韩| 国产成人亚洲精品另类动态| 亚洲激情视频久久精品| 日产一区二区三区网站| 日韩在线不卡中文字幕| 日本女优中文字幕久久| 在线观看国产激情免费视频| 久久精品国产精油按摩| 淫色网av人妻中文字幕| 日韩亚洲国产欧美在线观看| 黄色录像黄色片黄色片| 国产精品人成在线观看不卡| 亚洲人成网站在线免费看| 欧美日韩国产精品一区二区在线观看| 免费成人激情在线电影| 亚洲国产综合六月深深爱| 一区二区三区三级视频| 欧美黄色日本一区二区| 日韩精品一区中文字幕在线| 男人的天堂av东京热一区| 上海老熟女啪啪露脸高潮| 91人妻精品一区二区| 五月色婷婷六月色丁香| 亚洲人妻一区二区久久| 欧美日韩台湾一区二区| 久久精品国产91麻豆| 婷婷六月亚洲中文字幕| 日本大片一区二区免费看| 夜夜高潮夜夜爽免费观看 | 中文字幕一区精品日韩| 国产精品日产三级在线观看|