如果能重来,我要杀写文档之人以祭天
神奇的微信图片素材上传
之前我发了上传图片素材的微信接口,后来前端告诉我这接口不能用了???
我之前还穿了几张企鹅图,嘲讽了腾讯,难道是报应?
排查错误
postman测试,发现返回结果不是false就是data丢失,在csdn上找其他的curl模拟post函数也是一样的结果,这TM的?
一度怀疑是content-type的错误,因为我检查发送的标题头的时候发现,有些人写的curl函数是content-type是null,而微信要求是form-data的形式
一怒之下用postman,直接拼接好借口的网址,带图片发送
它成功了? !成了!!!
WTF
说明postman的发送方式是对的,我们自己的是有问题的
意外的结局
一连3,4天都没找到到底是哪里的curl问题
于是 懒得打太多字,就把图片移动到硬盘的根目录,也就是G:
结果TM的成了?
难道是文件目录有问题? 没错只能在根目录,只要进了文件夹比如G:\123\k.jpg
无论是什么斜线都不行
于是我拿其他位置的图片测试,结果是----没问题,就是这么NB
结论
必须所在的磁盘根目录不同,而且文件路径为
$filePath = ‘D:/hyd.jpg’;
//这样就会报错
// $filePath = 'D:\123\hyd.jpg';
如果一定要放在文件夹里,必须和TP所在的磁盘目录不同
推测 php5.6所带有的CURLfile类和curl一直是个谜一样的配合