前言

前段时间,因为腾讯云的服务器需要重装呐,原以为本地有一份微信公众号开发的代码,然后就没有备份直接重装了服务器,WTF,结果发现本地并没有备份。(给自己的蠢死了!!)

"errcode":41005错误解决方法

因为PHP版本的原因,上传素材一直报错,搞了一下午(好想爆粗口)终于搞定。

"errcode":41005官方解释缺少多媒体文件数据,然后找了下资料说是PHP版本问题,php中的CURL的curl_setopt函数存在版本差异。找资料发现,在PHP5.5中加入了CURL_SAFE_UPLOAD选项,它的功能是强制PHP的cURL模块拒绝旧的@语法,仅接受CURLFile式的文件。PHP5.5的默认值为false,然而PHP5.6以上的默认值为true。

第一种解决方法(适用于PHP版本>=5.5)

public function TempFile()

{

$type = "image"; //上传素材类型

$filepath = dirname(dirname(dirname(dirname(__FILE__))))."\upload\mac.jpg"; //素材的绝对路径,这里需要特别的注意,博主在路径上也遇到了坑点

$Access_Token = $this->getAccessToken(); //获取access_token值

$url = 'https://api.weixin.qq.com/cgi-bin/media/upload?access_token='.$Access_Token.'&type='.$type;

$data = array('media' => new \CURLFile($filepath)); //CURLFile方法只在PHP>=5.5才有,所以这里区别于第二种解决方法

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_SAFE_UPLOAD, FALSE); //将CURL_SAFE_UPLOAD设置为FALSE

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

$output = curl_exec($ch);

curl_close($ch);

$res = json_decode($output,true);

dump($res);

}

第二种解决方法(适用于PHP版本<7.0)

public function TempFile()

{

$type = "image"; //上传素材类型

$filepath = dirname(dirname(dirname(dirname(__FILE__))))."\upload\mac.jpg"; //素材的绝对路径,这里需要特别的注意,博主在路径上也遇到了坑点

$Access_Token = $this->getAccessToken(); //获取access_token值

$url = 'https://api.weixin.qq.com/cgi-bin/media/upload?access_token='.$Access_Token.'&type='.$type;

$data = array('media' => '@'.$filepath); //这里跟第一种解决方法不同

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_SAFE_UPLOAD, FALSE); //将CURL_SAFE_UPLOAD设置为FALSE

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

$output = curl_exec($ch);

curl_close($ch);

$res = json_decode($output,true);

dump($res);

}

遇到"errcode":41005错误也可能是素材路径的错误

一开始博主在设置素材绝对路径的时候设置为

$filepath = dirname(__FILE__)."\upload\mac.jpg";

因为博主是基于TP框架来写的,所以这时候dump出来的路径不是绝对路径,它是按照TP框架的路由地址。

下图为错误的素材绝对路径(为TP框架的路由地址)

下图为正确的素材绝对路径

微信公众号导入失败服务器错误代码,微信公众号开发之上传素材文件errcode:41005错误...相关推荐

  1. MySQL中关于emoji表情的存储(微信登录出现登录失败【由于微信昵称字符问题】)

    MySQL中关于emoji表情的存储(微信登录出现登录失败[由于微信昵称字符问题]) 问题描述 解决方法 闲谈 问题描述 今天网站遇到用户说登录失败,查看日志发现是微信登录自动生成用户时,用户创建失败 ...

  2. java微信上传本地视频教程_java微信开发之上传下载多媒体文件,java上传下载_PHP教程...

    java微信开发之上传下载多媒体文件,java上传下载 回复图片.音频.视频消息都是需要media_id的,这个是需要将多媒体文件上传到微信服务器才有的. 将多媒体文件上传到微信服务器,以及从微信服务 ...

  3. 微信上传图文素材接口报41005错误解决方法

    微信上传图文素材接口报41005错误解决方法 参考文章: (1)微信上传图文素材接口报41005错误解决方法 (2)https://www.cnblogs.com/gy1010/p/6674529.h ...

  4. 微信昵称不能更改服务器忙,微信群修改昵称失败?为什么微信群改不了自己的昵称,显示操作不成功...

    改了个人昵称后点确定,提示操作不成功是怎么回事.其他群都可以改我的昵称,就一个群不行.有什么权限设置么. 微信群为什么改不了自己的昵称?显示操作不成功. 如果操作方式不正确或者网络不畅容易导致昵称更改 ...

  5. 微信朋友圈小视频显示服务器超时,微信小视频转发到朋友圈却提示发送失败怎么办?...

    相信很多朋友都有这样的困扰:微信小视频发送到朋友圈后,却提示发布失败,这是为什么呢?微信小视频发布失败有什么解决方法?那么,今天宿迁波仔就和大家分享一下正确发送小视频到朋友圈的方法. 自从微信更新6. ...

  6. 微信公众平台开发 上传素材

    微信公众账号在回复图片.语音.视频的时候,将使用media_id来调用相关文件,很多朋友咨询这个如何开发实现.本文将介绍在微信公众平台开发过程中,如何上传下载多媒体文件. 一.上传多媒体文件 公众号可 ...

  7. 搜狗微信为什么搜不到服务器,搜狗微信搜索部分功能下线了?搜狗微信搜索部分功能将被下线详解[图]...

    最近有小伙伴在搜狗搜狗浏览器进行搜索微信公众等关键词都出现了下架的提醒!搜狗微信搜索部分功能下线了?来看看搜狗微信搜索部分功能将被下线具体消息! 搜狗微信搜索部分功能下线了?搜狗微信搜索部分功能将被下 ...

  8. 搜狗微信为什么搜不到服务器,搜狗微信搜索部分功能为什么下线 搜狗微信搜索部分功能将被下线详情介绍...

    搜狗高速浏览器v7.0.6.23715 官方正式版 类型:浏览器类大小:45.0M语言:中文 评分:8.9 标签: 立即下载 最近不少小伙伴在使用搜狗浏览器进行搜索微信公众等关键词的时候都会出现10天 ...

  9. 微信163重设密码服务器繁忙,微信用户注意了,这三个微信设置谨慎使用,否则将会泄漏个人隐私...

    现在通讯方式多种多样,有基本的电话通讯,有短信通讯,还有社交APP通讯,像社交APP通讯中,以微信最为大家熟悉了.现在每个人都至少拥有一个微信号,每天主要就是交流信息,发发红包,有时候也会发朋友圈,当 ...

最新文章

  1. caffe prototxt分析
  2. Android开发之手机拍照功能的实现(源代码分享)
  3. dlib做人脸检测判断有没有检测到人脸
  4. LeetCode Multiply Strings(大整数相乘)
  5. C语言开发笔记(五)字符串常量
  6. 前端学习(1604):脚手架props与state
  7. 采用Angular勾画SVG圆环形进度条
  8. Selenium模拟JQuery滑动解锁
  9. Go语言学习之11 日志收集系统kafka库实战
  10. 安时积分法的c语言程序,代码生成 | 安时积分法模型搭建
  11. 百度商桥点击咨询自定义按钮
  12. 福建广电网络显示服务器异常,无法浏览网页故障
  13. python set(集合) 与 and 、 | 与 or之间的区别
  14. Mac没有右Control的解决办法
  15. PS批量给图片加水印
  16. 【问题记录】ABP框架模板页面样式加载不完全
  17. itwangyang - 再次继续卷起来-20 个 JS 封装工具函数
  18. 一、软著专利查询网站
  19. 中国脂肪填充奶粉(FFMP)市场趋势报告、技术动态创新及市场预测
  20. ndk开发流程,9次Android面试经验总结,已拿offer入职

热门文章

  1. 除了贴膜,还有更好的方法避免蓝光伤害吗?
  2. 鸿蒙空间最高级,鸿蒙天帝-第4406章:神秘的敌人
  3. proteus与keil的安装方法合集
  4. 只要你敢,总会有光芒指引你
  5. 小米9pro textView不设置颜色不显示_小米万象息屏2.0内测开启,新增小组件功能和新息屏...
  6. HTML5-----网页结构
  7. H264视频传输、编解码----RTP/RTCP协议
  8. 科学计算机怎么输平方分数,在电脑WPS中分数的分母有平方怎么打出来
  9. 刷脸无感支付的方式有助于降低交互的门槛
  10. Deepin V20安装