微信公众号——永久素材的上传
生活随笔
收集整理的這篇文章主要介紹了
微信公众号——永久素材的上传
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
微信公眾號永久素材的上傳
思路:1.需要上傳到本地(因為后面需要用的本地的絕對路徑 2.上傳到微信服務器 3.添加信息到本地數據庫
一、上傳圖片到本地
文件上傳的方法
以下是我的代碼
首先更改文件上傳的配置
而后寫我們的文件上傳方法
這樣本地文件上傳就成功了 繼續我們的第二步
二、公眾平臺上傳圖片
我們得知了上傳圖片所需要的信息。 而media是curl命令。我們要使用php自帶類 CURLFile去處理 且CURLFlie參數必須為絕對路徑。所以我們需要先把絕對路徑拼接好。
接著我們去調用接口發送請求
//本地上傳成功后 服務器上傳$url ="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$this->get_access_token()."&type=image";//請求所需信息$data = ["media"=> new \CURLFile($absolute), //因為是curl上傳所以要調用php自帶函數CURLFile 并且要絕對路徑];//發送請求$result = json_decode($this->http_post($url,$data),true);//因為沒有說要json格式所以不用轉換,但因為下面要用。返回的是json格式我們要轉為數組格式三、添加入庫
判斷微信平臺是否上傳成功。成功會返回media_id和url,而失敗會返回一個errcode狀態碼。
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")) {//本地圖片上傳//判斷是否有文件上傳 并且上傳沒有出錯if (request()->hasFile("img_url") && request()->file("img_url")->isValid()){$img = request()->file("img_url");//獲取圖片數據$path = $img->store('img');//上傳到img$absolute = public_path("uploads/".$path);//絕對路徑//本地上傳成功后 服務器上傳$url ="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$this->get_access_token()."&type=image";//請求所需信息$data = ["media"=> new \CURLFile($absolute), //因為是curl上傳所以要調用php自帶函數CURLFile 并且要絕對路徑];//發送請求$result = json_decode($this->http_post($url,$data),true);//因為沒有說要json格式所以不用轉換,但因為下面要用。返回的是json格式我們要轉為數組格式//判斷是否上傳成功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");}}}}總結
以上是生活随笔為你收集整理的微信公众号——永久素材的上传的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通俗易懂的讲SOA
- 下一篇: git 创建webpack项目_从0到1