最近在做微信公眾號(hào)網(wǎng)頁開發(fā),遇到兩個(gè)需要用到微信的JSSDK,上傳圖片和自動(dòng)定位,微信開發(fā)者文檔有詳細(xì)的步奏內(nèi)容,鏈接點(diǎn)擊進(jìn)入微信開發(fā)者文檔 ,也可以看看我這篇文章,看我是如何實(shí)現(xiàn)的。
首先第一步,需要在頁面引入微信的JS文件(http和https都行)
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
第二步,獲取簽名
后臺(tái)會(huì)給前端一個(gè)接口,前端通過這個(gè)接口發(fā)送請求獲取必要的簽名信息,并進(jìn)行配置
sendAjax.weixin.getSdkSign({'傳入?yún)?shù)'},function(msg){ let sdkSign = msg.sdkSgin; // 后臺(tái)返回的值 wx.config({ debug: false, // 因?yàn)樵谑謾C(jī)上測試沒法打印,當(dāng)debug為true時(shí),所有的返回值都會(huì)在手機(jī)上alert出來 appId: sdkSign.appId, // 必填,公眾號(hào)唯一標(biāo)識(shí) timestamp: sdkSign.timestamp, // 必填,生成簽名的時(shí)間戳 nonceStr: sdkSign.nonceStr, // 必填,生成簽名的隨機(jī)串 signature: sdkSign.signature,// 必填,簽名 jsApiList: ['chooseImage','uploadImage'] // 必填,需要使用的JS接口列表,需要用到什么接口就去開發(fā)者文檔查看相應(yīng)的字段名 });});其中,sendAjax.weixin.getSdkSign 是我個(gè)人自己封裝的ajax請求,不用多在意。
第三步,就是上傳圖片了,相信一般都是一個(gè)點(diǎn)擊事件來調(diào)取微信的相冊和攝像頭功能。在事件方法中按以下方式寫
wx.chooseImage({ count: 1, // 最多可以選擇的圖片張數(shù),默認(rèn)9 sizeType: ['original', 'compressed'], // original 原圖,compressed 壓縮圖,默認(rèn)二者都有 sourceType: ['album', 'camera'], // album 從相冊選圖,camera 使用相機(jī),默認(rèn)二者都有 success: function (res) { let localIds = res.localIds; // 返回選定照片的本地ID列表(手機(jī)上操作就是手機(jī)端的ID列表,是一個(gè)數(shù)組),localId可以作為img標(biāo)簽的src屬性顯示圖片 wx.uploadImage({ localId: localIds[0], // 需要上傳的圖片的本地ID,由chooseImage接口獲得 isShowProgressTips: 1, // 默認(rèn)為1,顯示進(jìn)度提示 success: function (result) { let serverId = result.serverId; // 返回圖片的服務(wù)器端ID // 可以將serverId傳給后臺(tái),用于存放在自己服務(wù)器上 } }); }, fail: function() {}, complete: function() {}});需要注意的是,chooseImage是調(diào)取微信相冊和攝像頭功能。其中count是可選擇的,localIds是一個(gè)數(shù)組,當(dāng)只上傳一張圖片時(shí),localIds[0]可直接用來作為需要上傳圖片位置的路徑,不用再拼接其他東西。
uploadImage是將本地圖片上傳到服務(wù)器,至于怎么上傳,這應(yīng)該是后端的事了,你只需要保證localIds這個(gè)數(shù)組正確即可。
至此,微信端調(diào)取相冊和攝像頭功能,實(shí)現(xiàn)圖片上傳,并上傳到服務(wù)器功能基本就實(shí)現(xiàn)了,有疑問或者不對(duì)的地方歡迎留言。
以上所述是小編給大家介紹的微信端調(diào)取相冊和攝像頭功能圖片上傳服務(wù)器詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答