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