微信端調(diào)取相冊(cè)和攝像頭功能,實(shí)現(xiàn)圖片上傳,并上傳到服務(wù)器
最近在做微信公眾號(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ā)送請(qǐng)求獲取必要的簽名信息,并進(jìn)行配置
sendAjax.weixin.getSdkSign({'傳入?yún)?shù)'},function(msg){ let sdkSign = msg.sdkSgin; // 后臺(tái)返回的值 wx.config({ debug: false, // 因?yàn)樵谑謾C(jī)上測(cè)試沒法打印,當(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請(qǐng)求,不用多在意。
第三步,就是上傳圖片了,相信一般都是一個(gè)點(diǎn)擊事件來調(diào)取微信的相冊(cè)和攝像頭功能。在事件方法中按以下方式寫
wx.chooseImage({ count: 1, // 最多可以選擇的圖片張數(shù),默認(rèn)9 sizeType: ['original', 'compressed'], // original 原圖,compressed 壓縮圖,默認(rèn)二者都有 sourceType: ['album', 'camera'], // album 從相冊(cè)選圖,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)取微信相冊(cè)和攝像頭功能。其中count是可選擇的,localIds是一個(gè)數(shù)組,當(dāng)只上傳一張圖片時(shí),localIds[0]可直接用來作為需要上傳圖片位置的路徑,不用再拼接其他東西。
uploadImage是將本地圖片上傳到服務(wù)器,至于怎么上傳,這應(yīng)該是后端的事了,你只需要保證localIds這個(gè)數(shù)組正確即可。
至此,微信端調(diào)取相冊(cè)和攝像頭功能,實(shí)現(xiàn)圖片上傳,并上傳到服務(wù)器功能基本就實(shí)現(xiàn)了,有疑問或者不對(duì)的地方歡迎留言。
以上所述是小編給大家介紹的微信端調(diào)取相冊(cè)和攝像頭功能圖片上傳服務(wù)器詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 微信小程序開發(fā)之從相冊(cè)獲取圖片 使用相機(jī)拍照 本地圖片上傳
- 微信小程序開發(fā)之相冊(cè)選擇和拍照詳解及實(shí)例代碼
- PHP實(shí)現(xiàn)微信JS-SDK接口選擇相冊(cè)及拍照并上傳的方法
- 微信小程序 獲取相冊(cè)照片實(shí)例詳解
- 微信js-sdk預(yù)覽圖片接口及從拍照或手機(jī)相冊(cè)中選圖接口用法示例
- 微信小程序?qū)崿F(xiàn)圖片上傳、刪除和預(yù)覽功能的方法
- 微信小程序多張圖片上傳功能
- 微信小程序開發(fā)(二)圖片上傳+服務(wù)端接收詳解
- 微信小程序教程之本地圖片上傳(leancloud)實(shí)例詳解
- 移動(dòng)端html5圖片上傳方法【更好的兼容安卓IOS和微信】
相關(guān)文章
JS消息彈框alert、confirm、prompt的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS消息彈框alert、confirm、prompt,文中還給大家介紹了js的三大基礎(chǔ)彈框,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法
這篇文章主要介紹了詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03JavaScript實(shí)現(xiàn)定時(shí)隱藏與顯示圖片的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)定時(shí)隱藏與顯示圖片的方法,可實(shí)現(xiàn)javascript定時(shí)關(guān)閉圖片的功能,涉及javascript針對(duì)頁面元素屬性定時(shí)操作的相關(guān)技巧,需要的朋友可以參考下2015-08-08微信小程序?qū)崿F(xiàn)彈出輸入框代碼實(shí)例
最近在寫一個(gè)微信小程序,有一個(gè)需求是點(diǎn)擊一個(gè)按鈕后,出現(xiàn)一個(gè)輸入框,然后根據(jù)用戶的輸入再進(jìn)行操作,所以這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)彈出輸入框的相關(guān)資料,需要的朋友可以參考下2023-09-09什么是cookie?js手動(dòng)創(chuàng)建和存儲(chǔ)cookie
cookie 是存儲(chǔ)于訪問者的計(jì)算機(jī)中的變量,在這個(gè)例子中我們要?jiǎng)?chuàng)建一個(gè)存儲(chǔ)訪問者名字的 cookie,需要的朋友可以參考下2014-05-05