微信企業號-上傳、獲取臨時素材文件


上傳、獲取臨時素材文件,媒體文件類型有圖片(image)、語音(voice)、視頻(video),普通文件(file) ,這里以上傳、下載圖片為例

上傳臨時素材文件      

 根據開發文檔,可以看出,需要三個參數access_token、type、media, access_token和type容易解決,media的話就要寫一個表單上傳過來
表單如下:
    
    
    
            
  1. <form action="<{$upload_url}>" name="file" method="POST" enctype="multipart/form-data">
  2. <input type="file" name="image_file" value="選擇">
  3. <input type="submit" value="上傳">
  4. </form>
表單提交后,即可開始上傳
    
    
    
            
  1. private function upload_image($image_file) {
  2. $access_token = $this->get_access_token($this->corpid, $this->corpsecret);
  3. $type = 'image';
  4. //這里是個坑,臨時文件不能上傳,需要保存到某個路徑下再上傳
  5. $upload_dir = SYSTEM_DATA . "upload/test/";
  6. !is_dir($upload_dir) and mkdir($upload_dir, 0755, true);
  7. $file_path = $upload_dir . $image_file["name"];
  8. //這里用move_uploaded_file也可以
  9. copy($image_file["tmp_name"], $file_path);
  10. $post_data = array(
  11. //這里是個坑,要在前面加@(@是禁止將字符串中的斜杠解釋為轉義字符)
  12. "media" => "@" . $file_path,
  13. );
  14. $url = 'https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=' . $access_token . '&type=' . $type;
  15. $array_result = json_decode($this->https_request($url, $post_data), TRUE);
  16. return $array_result['media_id'];
  17. }

獲取臨時素材文件

根據開發文檔,可以看出,需要兩個參數access_token和media_id,media_id就是上面上傳時返回的media_id
   
   
   
           
  1. private function download_image($media_id) {
  2. $access_token = $this->get_access_token($this->corpid, $this->corpsecret);
  3. $url = 'https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=' . $access_token . '&media_id=' . $media_id;
  4. $a = file_get_contents($url);
  5. //以讀寫方式打開一個文件,若沒有,則自動創建
  6. $download_dir = SYSTEM_DATA . "download/test";
  7. !is_dir($download_dir) and mkdir($download_dir, 0755, true);
  8. $resource = fopen($download_dir."/$media_id.jpg" , 'w+');
  9. //將圖片內容寫入上述新建的文件
  10. fwrite($resource, $a);
  11. //關閉資源
  12. fclose($resource);
  13. }







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM