PHP wordpress xmlrpc 远程上传图片 无效图片 wp.uploadFile
最近我的网站想使用wordpress xmlrpc 远程上传图片,看了好多wordpress xmlrpc 的API说明,也按照接口发送请求,但是图片最后保存下来是无效的图片
有没有朋友可以帮忙解决下!
我的代码:
require_once 'class-IXR.php'; $client = new IXR_Client("http://localhost/xmlrpc.php"); //上传图片 $filetext = @file_get_contents('http://misc.360buyimg.com/lib/img/e/logo-201305.png'); $data = array( 'name' => '3a5ca0ce9c1824876e531d1e05992232.jpg', 'type' => 'image/png', 'bits' => base64_encode($filetext), 'overwrite' => false, ); $params = array(0,$user,$pwd,$data); $client->query('metaWeblog.newMediaObject', $params);//metaWeblog.newMediaObject 与wp.uploadFile 是同样的效果 $uploadimg = $client->getResponse(); print_r($uploadimg);
输出的结果是
Array ( [id] => 1448 [file] => 3a5ca0ce9c1824876e531d1e05992232.jpg [url] => http://localhost/wp-content/uploads/2013/09/3a5ca0ce9c1824876e531d1e05992232.jpg [type] => image/png )说明文件已经正常上传了。
但是打开图片是无效的图片
望朋友们一起帮忙解决。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
图片编码问题,换成下面的:
看了下源码,class-wp-xmlrpc-server.php 中 mw_newMediaObject函数.
官网API上说是要base64加密,但是接受的函数里没有解密。改了之后就能上传了。
或许我版本低了?3.5.2啊。在查查去。
你用记事本打开这个图片,看看是什么内容
你用记事本打开这个图片,看看是什么内容
、怀疑你是有什么必要的操作没做, 去找别人的 demo
没玩过
、怀疑你是有什么必要的操作没做, 去找别人的 demo