網(wǎng)站的服務(wù)有哪些seo外鏈工具有用嗎
概述:
我們開發(fā)微信小程序,從后臺(tái)獲取圖片現(xiàn)實(shí)的時(shí)候,通常采用http get的方式,例如以下代碼
<image class="user_logo" src="{{logoUrl}}"></image>
變量logoUrl為ur圖片l的請求地址
但是對于很多情況,不希望圖片被公開訪問,需要登錄才能獲取到的圖片,這種方式就不行了。
需要在請求中添加相關(guān)的cookie信息才行
請求:
通常的做法是,自定義http head,如下所示:
util_http_get_imagedata_show(inurl, callImageDataFun, cl) {var headerObj = {'Cookie': getApp().globalData.coockieStr};wx.request({url: inurl,method: 'get',responseType: 'arraybuffer',header: headerObj,success: function (res) {callImageDataFun(res.data, cl);}});
}callSetItemsShowData(imagedata, cl) {var picData = "data:image/png;base64," + wx.arrayBufferToBase64(imagedata);cl.setData({logoUrl : picData});
},
getApp().globalData.coockieStr 是登錄的時(shí)候通過其他方式獲取的session關(guān)聯(lián)的cookie,保存在全局變量。
測試調(diào)用:
this.util_http_get_imagedata_show(tmpStr, this.callSetItemsShowData, this);
優(yōu)缺點(diǎn)分析:
優(yōu)點(diǎn):把當(dāng)前session關(guān)聯(lián)的cookie代入,通過正確登錄,能夠很好地在當(dāng)前session下獲取圖片,控制圖片不被非法獲取。
缺點(diǎn):需要額外的手動(dòng)寫http請求過程,增加代碼量。特別注意的是,對于圖片比較大的(超過1M)導(dǎo)致小程序setData渲染效率低。如下圖小程序開發(fā)工具上報(bào)警告:
為了解決這個(gè)性能問題,本人苦思冥想,我的下一篇文章:微信小程序獲取圖片使用session(下篇),地址:https://blog.csdn.net/shenweihong/article/details/144972026