最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信接入之獲取用戶頭像的方法步驟

 更新時間:2019年09月23日 09:45:38   作者:duotemplar  
這篇文章主要介紹了微信接入之獲取用戶頭像的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前段時間寫了關(guān)于微信支付接入,順便就把獲取用戶昵稱,頭像的方式也歸納下,這個其實挺簡單的,具體的方法看官方文檔即可。這里只提幾個重點。

scope參數(shù)

看過微信文檔的話,微信的規(guī)定是,對于scope參數(shù),如果需要獲取用戶信息的話,scope參數(shù)為snsapi_userinfo。但是我接下來,使用過一次userinfo,實際上用snsapi_base也可以獲得用戶信息,一模一樣的返回值,對于獲取頭像和昵稱完全沒有任何問題

獲取頭像

獲取頭像其實有一點麻煩的就是跨域問題。要解決這個跨域問題,可以采用設置一個代理服務器,或者通過配置相關(guān)服務器(ngix,apache)來解決。這個網(wǎng)上方法很多,我這里說的是不通過配置服務器的方法。

在我們的項目中,我并不想使用配置一個web服務器或者代理,因為我們是游戲服務器,我們是自己實現(xiàn)的,并沒有使用什么web服務器框架,那么這種情況下,我們解決跨域的問題就是由我們的服務器后端直接對跨域資源發(fā)起請求,在獲得對應的資源后,再返回前端。OK,這就是具體方法

具體實現(xiàn)時,其實很簡單,獲取到頭像的url后,直接發(fā)起一個http請求并獲取返回即可。

注意:http請求方式為“GET”

另外需要提的一點是,對response的返回,要直接使用stream.Read,如果使用streamReader,以文本方式讀取字節(jié)流讀出來的數(shù)據(jù)是無法轉(zhuǎn)成圖片的。(我查閱過MSDN關(guān)于這兩個接口的說明,只是讀取時一個是文本形式,一個是字節(jié)流形式,其他并沒有過多的說有什么區(qū)別)。

然后記得將字節(jié)流以Base64方式轉(zhuǎn)換,交由我們的前端處理

request = HttpWebRequest.Create(url);
request.Method = "GET";
response = request.GetResponse();
stream = response.GetResponseStream();
var buffer = new byte[4096];
var num = stream.Read(buffer, 0, 4096);
var head = Convert.ToBase64String(buffer, 0, num);

stream.Dispose();
response.Close();

上面的代碼有一個問題,我后來才注意到,就是當圖片比較大的時候,比如頭像地址最后的參數(shù)是64以上,或是/0(此時返回640*640大小的圖片),這個時候,stream可能一次不能讀取完所有的數(shù)據(jù),所以修改代碼為

var request = HttpWebRequest.Create(url);
request.Method = "GET";
var response = request.GetResponse();
var stream = response.GetResponseStream();
var buffer = new byte[response.ContentLength];
var num = stream.Read(buffer, 0, (int)response.ContentLength);
var total = num;
while(num > 0)
{
  num = stream.Read(buffer, total, (int)(response.ContentLength - total));
  total += num;
}
head = Convert.ToBase64String(buffer, 0, total);

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript 表格排序和表頭浮動效果(擴展SortTable)

    javascript 表格排序和表頭浮動效果(擴展SortTable)

    前段時間一個項目有大量頁面用到表格排序和表頭浮動的效果,在網(wǎng)上找了幾個表格排序的js代碼,最后選擇了 Stuart Langridge的SortTable,在SortTable基礎上做了些擴展,加上了表頭浮動效果及一些小功能。
    2009-04-04
  • 小程序?qū)崿F(xiàn)滑動塊效果

    小程序?qū)崿F(xiàn)滑動塊效果

    這篇文章主要為大家詳細介紹了小程序?qū)崿F(xiàn)滑動塊,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • JavaScript跨平臺的開源框架NativeScript

    JavaScript跨平臺的開源框架NativeScript

    本文給大家分享的是一款使用javascript來構(gòu)建跨平臺原生移動應用的開源框架--NativeScript,可以使用JavaScript開發(fā)跨平臺、真正原生的iOS, Android 和 Windows 移動App。開發(fā)人員使用NativeScript提供的庫來構(gòu)建應用UI,其抽象了各種原生平臺之間的不同。
    2015-03-03
  • JavaScript欄目列表隱藏/顯示簡單實現(xiàn)

    JavaScript欄目列表隱藏/顯示簡單實現(xiàn)

    隱藏側(cè)邊欄,并將圖片換成右箭頭圖片;顯示側(cè)邊欄,并將圖片換成左箭頭,這樣的效果想必大家都很熟悉吧,接下來實現(xiàn)下,感興趣的朋友可以參考下哈
    2013-04-04
  • electron的webview和內(nèi)嵌網(wǎng)頁通信的方法

    electron的webview和內(nèi)嵌網(wǎng)頁通信的方法

    在 Electron 的世界里,webview 標簽相當于一個小盒子,里面可以裝一個完整的網(wǎng)頁,就像一個迷你瀏覽器,這篇文章主要介紹了electron的webview和內(nèi)嵌網(wǎng)頁如何通信,需要的朋友可以參考下
    2024-04-04
  • 關(guān)于webpack代碼拆分的解析

    關(guān)于webpack代碼拆分的解析

    本篇文章主要介紹了關(guān)于webpack代碼拆分的解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Google AJAX 搜索 API實現(xiàn)代碼

    Google AJAX 搜索 API實現(xiàn)代碼

    Google AJAX 搜索 API實現(xiàn)代碼,需要的朋友可以參考下。
    2010-11-11
  • 可以拖動的div 實現(xiàn)代碼

    可以拖動的div 實現(xiàn)代碼

    可以拖動的div是一個比較難以做到的效果,特別是在瀏覽器對于js代碼的運行效率還不是足夠高的情況下,不過聽說firefox對于js的支持正在增加,大概是料到了js在網(wǎng)頁瀏覽的桌面化趨勢中所占的重要地位吧。
    2009-06-06
  • layui table 復選框跳頁后再回來保持原來選中的狀態(tài)示例

    layui table 復選框跳頁后再回來保持原來選中的狀態(tài)示例

    今天小編就為大家分享一篇layui table 復選框跳頁后再回來保持原來選中的狀態(tài)示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 使用JavaScript判斷圖片是否加載完成的三種實現(xiàn)方式

    使用JavaScript判斷圖片是否加載完成的三種實現(xiàn)方式

    有時需要獲取圖片的尺寸,這需要在圖片加載完成以后才可以,本文有三個不錯的實現(xiàn)方式在此與大家分享下
    2014-05-05

最新評論

乌兰县| 香港 | 老河口市| 会理县| 嘉黎县| 武义县| 蓬安县| 皮山县| 彭山县| 桓台县| 娱乐| 栾城县| 安达市| 元阳县| 塔河县| 嘉兴市| 姚安县| 天全县| 虎林市| 祁东县| 延庆县| 桐梓县| 富蕴县| 澳门| 永川市| 麦盖提县| 西宁市| 喀喇沁旗| 台州市| 延寿县| 岳池县| 镇沅| 新绛县| 彩票| 图木舒克市| 左权县| 汤原县| 富裕县| 梅州市| 泰宁县| 手游|