摘要:在微信端打開(kāi)手機(jī)攝像頭拍照,將拍照?qǐng)D片保存到服務(wù)器上需要使用到微信的接口,主要使用到了拍照或從手機(jī)相冊(cè)中選圖接口上傳圖片接口參考資料一引入微信二通過(guò)接口注入權(quán)限驗(yàn)證配置三微信端拍照接口默認(rèn)可以指定是原圖還是壓縮圖,默認(rèn)二者都有可以指
在微信端打開(kāi)手機(jī)攝像頭拍照,將拍照?qǐng)D片保存到服務(wù)器上需要使用到微信的JSSDK接口,主要使用到了拍照或從手機(jī)相冊(cè)中選圖接口(chooseImage),上傳圖片接口(uploadImage)
參考資料:
https://mp.weixin.qq.com/wiki...
https://www.easywechat.com/do...
一:引入微信js
二:通過(guò)config接口注入權(quán)限驗(yàn)證配置
wx.config(wechat->js->config([ "chooseImage", "uploadImage", "downloadImage" ]) ?> );
三:微信端拍照接口
wx.chooseImage({ count: 1, // 默認(rèn)9 sizeType: ["original", "compressed"], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有 sourceType: ["album", "camera"], // 可以指定來(lái)源是相冊(cè)還是相機(jī),默認(rèn)二者都有 success: function (res) { var localIds = res.localIds; // 返回選定照片的本地ID列表,localId可以作為img標(biāo)簽的src屬性顯示圖片 } });
四:將照片上傳到微信服務(wù)器接口
wx.uploadImage({ localId: localIds, // 需要上傳的圖片的本地ID,由chooseImage接口獲得 isShowProgressTips: 1, // 默認(rèn)為1,顯示進(jìn)度提示 success: function (res) { var serverId = res.serverId; // 返回圖片的服務(wù)器端ID }, fail: function() { //上傳圖片到微信服務(wù)器失敗 return false; } });
五:將微信服務(wù)器的圖片下載到本地服務(wù)器
前端:
//url表示php接口地址 //serverId表示圖片的服務(wù)器端ID $.post(url, {"media_id":serverId}, function(data) { if (data.type == "success") { //上傳成功 } else { //上傳失敗 } });
php(接口)
public function actionUpload() { Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $mediaId = $request->post("media_id"); if (empty($mediaId)) { return [ "type" => "error", "message" => "參數(shù)錯(cuò)誤!" ]; } //臨時(shí)素材 $temporary = Yii::$app->wechat->material_temporary; //創(chuàng)建服務(wù)器目錄 $path = "wechat/" . date("Ymd",time()) . "/"; $fullPath = Yii::getAlias("@webroot") . "/" . $path; if (!is_dir($fullPath)) { FileHelper::createDirectory($fullPath); } //設(shè)置圖片名稱 $fileName = Yii::$app->getSecurity()->generateRandomString() . "-" . date("His",time()); //將服務(wù)器端的臨時(shí)素材下載到本地服務(wù)器 $temporary->download($mediaId, $fullPath, $fileName); return [ "type" => "success", "url" => $path . $fileName . ".jpg", ]; }
前端代碼整合
wechat->js->config([ "chooseImage", "uploadImage", "downloadImage" ]); $JS = <<registerJs($JS); ?>
根據(jù)如上代碼就可以實(shí)現(xiàn)微信端打開(kāi)攝像頭拍照再將相片保存到服務(wù)器功能
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/31701.html
摘要:目前正在寫(xiě)一個(gè)微信公眾號(hào)的小項(xiàng)目,記錄一下遇到的問(wèn)題和解決方法主要是前端。前端提交時(shí)使用,在后端再取出對(duì)應(yīng)的微信支付看了下文檔,以前是需要用喚起支付,而現(xiàn)在則是把微信內(nèi)置到了微信的瀏覽器中。 目前正在寫(xiě)一個(gè)微信公眾號(hào)的小項(xiàng)目,記錄一下遇到的問(wèn)題和解決方法(主要是前端)。內(nèi)容持續(xù)更新中~ 主要實(shí)現(xiàn) 前后端分離前端為 SPA 單頁(yè)面使用微信的JSSDK微信支付 技術(shù)方案 后端使用 php ...
摘要:目前正在寫(xiě)一個(gè)微信公眾號(hào)的小項(xiàng)目,記錄一下遇到的問(wèn)題和解決方法主要是前端。前端提交時(shí)使用,在后端再取出對(duì)應(yīng)的微信支付看了下文檔,以前是需要用喚起支付,而現(xiàn)在則是把微信內(nèi)置到了微信的瀏覽器中。 目前正在寫(xiě)一個(gè)微信公眾號(hào)的小項(xiàng)目,記錄一下遇到的問(wèn)題和解決方法(主要是前端)。內(nèi)容持續(xù)更新中~ 主要實(shí)現(xiàn) 前后端分離前端為 SPA 單頁(yè)面使用微信的JSSDK微信支付 技術(shù)方案 后端使用 php ...
摘要:圖片數(shù)據(jù)繪制到先構(gòu)造對(duì)象,為,圖片之后繪制到的圖片文件數(shù)據(jù)繪制到還是先轉(zhuǎn)換成一個(gè),然后構(gòu)造對(duì)象,為,圖片之后繪制到利用上面的函數(shù),由對(duì)象得到格式的,再參考圖片數(shù)據(jù)繪制到轉(zhuǎn)換為對(duì)象并使用發(fā)送轉(zhuǎn)換為對(duì)象后,可以使用上傳圖像文件。 實(shí)現(xiàn)功能和適用業(yè)務(wù) 采集本地?cái)z像頭獲取攝像頭畫(huà)面,拍照保存,上傳服務(wù)器; 前端上傳圖片處理,展示,縮小,裁剪,上傳服務(wù)器 實(shí)現(xiàn)步驟 調(diào)取本地?cái)z像頭(get...
摘要:圖片數(shù)據(jù)繪制到先構(gòu)造對(duì)象,為,圖片之后繪制到的圖片文件數(shù)據(jù)繪制到還是先轉(zhuǎn)換成一個(gè),然后構(gòu)造對(duì)象,為,圖片之后繪制到利用上面的函數(shù),由對(duì)象得到格式的,再參考圖片數(shù)據(jù)繪制到轉(zhuǎn)換為對(duì)象并使用發(fā)送轉(zhuǎn)換為對(duì)象后,可以使用上傳圖像文件。 實(shí)現(xiàn)功能和適用業(yè)務(wù) 采集本地?cái)z像頭獲取攝像頭畫(huà)面,拍照保存,上傳服務(wù)器; 前端上傳圖片處理,展示,縮小,裁剪,上傳服務(wù)器 實(shí)現(xiàn)步驟 調(diào)取本地?cái)z像頭(get...
閱讀 2328·2021-10-11 10:59
閱讀 2608·2021-10-11 10:58
閱讀 3314·2021-09-08 09:35
閱讀 3813·2021-09-02 15:21
閱讀 1468·2019-08-30 15:53
閱讀 2618·2019-08-29 14:16
閱讀 2079·2019-08-26 14:00
閱讀 2962·2019-08-26 13:52