您好,登錄后才能下訂單哦!
這篇文章主要介紹了微信開發(fā)中如何調(diào)取相冊和攝像頭功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
最近在做微信公眾號網(wǎng)頁開發(fā),遇到兩個需要用到微信的JSSDK,上傳圖片和自動定位,微信開發(fā)者文檔有詳細(xì)的步奏內(nèi)容,鏈接點擊進入微信開發(fā)者文檔 ,也可以看看我這篇文章,看我是如何實現(xiàn)的。
首先第一步,需要在頁面引入微信的JS文件(http和https都行)
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
第二步,獲取簽名
后臺會給前端一個接口,前端通過這個接口發(fā)送請求獲取必要的簽名信息,并進行配置
sendAjax.weixin.getSdkSign({'傳入?yún)?shù)'},function(msg){ let sdkSign = msg.sdkSgin; // 后臺返回的值 wx.config({ debug: false, // 因為在手機上測試沒法打印,當(dāng)debug為true時,所有的返回值都會在手機上alert出來 appId: sdkSign.appId, // 必填,公眾號唯一標(biāo)識 timestamp: sdkSign.timestamp, // 必填,生成簽名的時間戳 nonceStr: sdkSign.nonceStr, // 必填,生成簽名的隨機串 signature: sdkSign.signature,// 必填,簽名 jsApiList: ['chooseImage','uploadImage'] // 必填,需要使用的JS接口列表,需要用到什么接口就去開發(fā)者文檔查看相應(yīng)的字段名 }); });
其中,sendAjax.weixin.getSdkSign 是我個人自己封裝的ajax請求,不用多在意。
第三步,就是上傳圖片了,相信一般都是一個點擊事件來調(diào)取微信的相冊和攝像頭功能。在事件方法中按以下方式寫
wx.chooseImage({ count: 1, // 最多可以選擇的圖片張數(shù),默認(rèn)9 sizeType: ['original', 'compressed'], // original 原圖,compressed 壓縮圖,默認(rèn)二者都有 sourceType: ['album', 'camera'], // album 從相冊選圖,camera 使用相機,默認(rèn)二者都有 success: function (res) { let localIds = res.localIds; // 返回選定照片的本地ID列表(手機上操作就是手機端的ID列表,是一個數(shù)組),localId可以作為img標(biāo)簽的src屬性顯示圖片 wx.uploadImage({ localId: localIds[0], // 需要上傳的圖片的本地ID,由chooseImage接口獲得 isShowProgressTips: 1, // 默認(rèn)為1,顯示進度提示 success: function (result) { let serverId = result.serverId; // 返回圖片的服務(wù)器端ID // 可以將serverId傳給后臺,用于存放在自己服務(wù)器上 } }); }, fail: function() {}, complete: function() {} });
需要注意的是,chooseImage是調(diào)取微信相冊和攝像頭功能。其中count是可選擇的,localIds是一個數(shù)組,當(dāng)只上傳一張圖片時,localIds[0]可直接用來作為需要上傳圖片位置的路徑,不用再拼接其他東西。
uploadImage是將本地圖片上傳到服務(wù)器,至于怎么上傳,這應(yīng)該是后端的事了,你只需要保證localIds這個數(shù)組正確即可。
至此,微信端調(diào)取相冊和攝像頭功能,實現(xiàn)圖片上傳,并上傳到服務(wù)器功能基本就實現(xiàn)了,有疑問或者不對的地方歡迎留言。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信開發(fā)中如何調(diào)取相冊和攝像頭功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。