微信上传素材 {"errcode":41005,"errmsg":"media data missing"} 解决方法和思路
哎lol 连跪两把 就来写写博客 今天遇到一个问题 ,微信公众号开发上传素材是提示报错 41005 errcode":41005,"errmsg":"media data missing 检查了好几遍 确信都没有问题 看了下接口说明

只能说微信文档写的越来越简单 简直不适合我这种小白
治理介绍一下思路 ,就是利用curl 模拟表单提交 江图片上传至微信 @+文件绝对路径,curl 的curl_setopt PHP5.5一下可以,但是5.6就不在支持了 The usage of the @filename API for file uploading is deprecat 所以遇到这种问题就不要太惊讶,php 没有问题,微信也没有问题 有问题的是版本
在组装数据的时候 数据格式应该是这样
他吗的微信说的一点也不详细,然后就是模拟curl 上传 详细代码如下
$token ="bwxuV4NU8-c6KyDZu8CiVIkLIle13TzYVw_D2FGswfOz4yW5kvOeVA-1YTE6AC6T0kKI_TYIYllCuTmVmAHMTGyXEjChuP_TwSbHcYAOBlIyNugVYIIeVPFAVvAxmnYWIMTgAHAEIP";
function add_material($file_info,$token){
$url="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token={$token}&type=image";
$ch1 = curl_init ();
$real_path="{$_SERVER['DOCUMENT_ROOT']}{$file_info['filename']}";
$data= array("media"=>"@{$real_path}",'form-data'=>$file_info);
curl_setopt ( $ch1, CURLOPT_URL, $url );
curl_setopt ( $ch1, CURLOPT_POST, 1 );
curl_setopt ( $ch1, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch1, CURLOPT_CONNECTTIMEOUT, 5 );
curl_setopt ( $ch1, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $ch1, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt ( $ch1, CURLOPT_POSTFIELDS, $data );
$result = curl_exec ( $ch1 );
curl_close ( $ch1 );
return $result;
}
$file_info=array(
'filename'=>'/index.jpg', //图片相对于网站根目录的路径
'content-type'=>'image/png', //文件类型
'filelength'=>'90011' //图文大小
);
add_material($file_info,$token);
以上在 wamp 环境下清册有效 注意php 版本是5.5
这一需要说明的是如果上传失败 在检查代码没有问题后,应该去检查不同php版本的curl 重点就是curl_setoptd 参数设置 具体可以参考curl官方说明或者 http://blog.csdn.net/yxwb1253587469/article/details/51777903


还有一些小问题 但是已经能使用了,友情提示 在使用curl 时,千万不要随意拷贝人家的,要去弄明白每个参数的含义 ,以及不同php版本的特性
微信上传素材 {"errcode":41005,"errmsg":"media data missing"} 解决方法和思路的更多相关文章
- 微信公众号开发---上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing
1.上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing 解决办法:因为php版本 ...
- php 调用微信上传临时素材接口 {“errcode”:41005,”errmsg”:”media data missing hint”}
原因:由于PHP5.6以前与之后的版本curl_setopt有差异.PHP5.6以后不再支持”@文件路径”的方式. $picPath= "public\public\upload\xxx.p ...
- 微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
问题描述: php5.5已经把通过@加文件路径上传文件的方式给放入到Deprecated中了.php5.6默认是不支持这种方式了 解决办法curl处理 function curl_post($url, ...
- 【微信上传素材接口--永久性】微信永久性上传、获取返回的medie_id 和url
上传图片到微信服务器获得media_id和url (永久性) 其他接口类:https://www.cnblogs.com/gjw-hsf/p/7375261.html 转载地址:https://blo ...
- 上传图文{"errcode":40007,"errmsg":"invalid media_id"}解决方案
{"errcode":40007,"errmsg":"invalid media_id"}解决方案 网上关于这个问题的解决一般是把thumb ...
- ueditor上传大容量视频报http请求错误的解决方法
故障现象: 当使用百度编辑器ueditor上传大容量视频或大容量图片的时候,编辑器报"http请求错误"的解决方法详解: 原因分析: 目前很多CMS整合了百度的ueditor编辑器 ...
- jfinal文件上传和form表单值为null的解决方法
今天使用jfinal做上传提交的时候,遇到一个问题:添加了上传功能,原来的form表单submit提交时所有值都为null了,研究了很长时间,终于发现 在jfinal上传时候,jsp加 enctype ...
- jquery上传插件uploadify 报错http error 302 解决方法之一
前段时间用到jquery上传插件uploadify时,始终出现系统报出 http error 302 的错误. 网上大量搜集信息,基本上都是说session值丢失的问题,根据网友提供的解决方案进行修改 ...
- WebClient使用与IIS7最大上传文件--升级&引导窗口&目录同步完整解决方法
IIS7最大上传文件说明:http://www.mzwu.com/article.asp?id=2449 WebClient使用说明使用using 及时回收资源 using(var wc=new W ...
随机推荐
- JS错误记录 - getStyle代替offset、任意值运动框
本次练习错误总结: 1. 改变border的宽度,属性名称不是直接写border,而是borderWidth. 2. 运动函数 -- 清除定时器 -- 开启新的定时器. 不是在新定时器开启之后再清除 ...
- Day1:循环语句(While,For)
一.while循环 while 条件: 条件为真执行的语句 esle: 条件为假执行的语句 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author: ...
- SQL判断空值、nvl处理与JOIN的使用
LIKE子句会影响查询性能,所以在明确知道字符个数时,应该使用'_',而不使用'%'. 判断空值/非空值 SELECT select_list FROM table_list/view_list WH ...
- FTP 访问的形式
主要是扼要的列举一下访问的方式,不涉及太具体的内容.大家可以在百度上搜索一下具体的操作方法. 主要有: 1. 网页浏览器中输入 ftp://192.168.0.111的形式. 2. 资源管理器中输入f ...
- Microsoft Bot Framework 链接至微信公共号
如何将 Microsoft Bot Framework 链接至微信公共号 说到 Microsoft Bot Framework 其实微软发布了已经有一段时间了,有很多朋友可能还不太了解,微软Bot ...
- 【习题 5-14 UVA - 1598】Exchange
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 各组数据之间有空行! 且最后一行后面没有空行! 然后就是用set来模拟就好. 删除的时候,不着急删除. 因为并不用时刻输出集合大小. ...
- vue-cli3使用vue-svg-loader加载svg
vue-svg-loader Documentation - FAQ webpack loader that lets you use SVG files as Vue components Micr ...
- 【Redis学习】:Windows环境下的Redis安装与配置
Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C ...
- 观CSDN站点小Bug有感
今天早上在浏览博客的时候偶然发现CSDN博客的数据出现了异常,我也是头一次看到这么明显的Bug.详细什么表现呢?先来看个截图.例如以下: 常常看CSDN博客的人 ...
- 【SPOJ QTREE】树链剖分模板
用线段树求解,这里注意因为求的是路径最大值,注意一下细节. #include<cstdio> #include<cstring> #include<algorithm&g ...