微信公众号——永久素材的上传
生活随笔
收集整理的這篇文章主要介紹了
微信公众号——永久素材的上传
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
微信公眾號永久素材的上傳
思路:1.需要上傳到本地(因?yàn)楹竺嫘枰玫谋镜氐慕^對路徑 2.上傳到微信服務(wù)器 3.添加信息到本地?cái)?shù)據(jù)庫
一、上傳圖片到本地
文件上傳的方法
以下是我的代碼
首先更改文件上傳的配置
而后寫我們的文件上傳方法
這樣本地文件上傳就成功了 繼續(xù)我們的第二步
二、公眾平臺(tái)上傳圖片
我們得知了上傳圖片所需要的信息。 而media是curl命令。我們要使用php自帶類 CURLFile去處理 且CURLFlie參數(shù)必須為絕對路徑。所以我們需要先把絕對路徑拼接好。
接著我們?nèi)フ{(diào)用接口發(fā)送請求
//本地上傳成功后 服務(wù)器上傳$url ="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$this->get_access_token()."&type=image";//請求所需信息$data = ["media"=> new \CURLFile($absolute), //因?yàn)槭莄url上傳所以要調(diào)用php自帶函數(shù)CURLFile 并且要絕對路徑];//發(fā)送請求$result = json_decode($this->http_post($url,$data),true);//因?yàn)闆]有說要json格式所以不用轉(zhuǎn)換,但因?yàn)橄旅嬉谩7祷氐氖莏son格式我們要轉(zhuǎn)為數(shù)組格式三、添加入庫
判斷微信平臺(tái)是否上傳成功。成功會(huì)返回media_id和url,而失敗會(huì)返回一個(gè)errcode狀態(tài)碼。
if(empty($result["errcode"])){//成功 添加入庫$imgsource = new Img;$imgsource->img_name = request()->img_name;$imgsource->img_desc = request()->img_desc;$imgsource->img_url = asset("uploads/".$path);$imgsource->media = $result["media_id"];$imgsource->url = $result["url"];$imgsource->save();return redirect("/source/index");}else{//失敗return redirect("/source/index");}整體代碼如下
//添加圖片public function img(){if (request()->isMethod("post")) {//本地圖片上傳//判斷是否有文件上傳 并且上傳沒有出錯(cuò)if (request()->hasFile("img_url") && request()->file("img_url")->isValid()){$img = request()->file("img_url");//獲取圖片數(shù)據(jù)$path = $img->store('img');//上傳到img$absolute = public_path("uploads/".$path);//絕對路徑//本地上傳成功后 服務(wù)器上傳$url ="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$this->get_access_token()."&type=image";//請求所需信息$data = ["media"=> new \CURLFile($absolute), //因?yàn)槭莄url上傳所以要調(diào)用php自帶函數(shù)CURLFile 并且要絕對路徑];//發(fā)送請求$result = json_decode($this->http_post($url,$data),true);//因?yàn)闆]有說要json格式所以不用轉(zhuǎn)換,但因?yàn)橄旅嬉谩7祷氐氖莏son格式我們要轉(zhuǎn)為數(shù)組格式//判斷是否上傳成功if(empty($result["errcode"])){//成功 添加入庫$imgsource = new Img;$imgsource->img_name = request()->img_name;$imgsource->img_desc = request()->img_desc;$imgsource->img_url = asset("uploads/".$path);$imgsource->media = $result["media_id"];$imgsource->url = $result["url"];$imgsource->save();return redirect("/source/index");}else{//失敗return redirect("/source/index");}}}}總結(jié)
以上是生活随笔為你收集整理的微信公众号——永久素材的上传的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通俗易懂的讲SOA
- 下一篇: git 创建webpack项目_从0到1