我正在开发一个.net程序,通过xml-rpc.net与wordpers通信。我发现如果我试图通过“wp.uploadFile”上传一个有点大的图像,wordpress将返回一个错误,说“解析错误(-32700),没有形成”。我试过Windows Live Write写一篇文章。但是,如果我选择链接源图片,我会收到错误消息,说我无法上传图片,建议通过ftp上传图片。
我找到了这篇文章: 图片上传失败
我认为在阅读大型请求时可能仍有一些问题不包含断行,所以我自己构建xml,并根据RFC 822每76个字符添加一个断行('\ r \ n')。但是问题仍然存在,换句话说,我无法上传任何有点大的图像。 我的xml文件如下:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<methodCall>
<methodName>wp.uploadFile</methodName>
<params>
<param>
<value>
<i4>0</i4>
</value>
</param>
<param>
<value>
<string>myname</string>
</value>
</param>
<param>
<value>
<string>mypwd</string>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>name</name>
<value>
<string>MS-wedge.jpg</string>
</value>
</member>
<member>
<name>type</name>
<value>
<string>image/jpeg</string>
</value>
</member>
<member>
<name>bits</name>
<value>
<base64>
/9j/4AAQSkZJRgABAQEBLAEsAAD7gAOQWRvYmUAZAAAAAAB+EVpkV4aWYAAE1NACoAAAAIABAB
AAADAAAAARIAAAABAQADAAAAAQwAAAABAgADAAAAAwAAAM4BBgADAAAAAQACAAABDwACAAAAEgAA
<!-- ... pending other data -->
</base64>
</value>
</member>
<member>
<name>overwrite</name>
<value>
<boolean>false</boolean>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
答案 0 :(得分:1)
我已经使用WordPress XML-RPC超过3年了。 我附上了一个工作正常的上传请求示例作为参考。我希望这可以帮到你。
<?xml version="1.0"?>
<methodCall><methodName>wp.uploadFile</methodName>
<params>
<param>
<value><string>1</string></value>
</param>
<param>
<value><string>username</string></value>
</param>
<param>
<value><string>password</string></value>
</param>
<param>
<value><struct>
<member>
<name>name</name>
<value><string>Photo Jun 27, 2013, 3:08 PM.jpg</string></value>
</member>
<member><name>type</name><value><string>image/jpeg</string></value>
</member>
<member><name>bits</name><value><base64>/9j/4AAQSkZJRgABAQAAAQABAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQA
<!-- ... pending other data -->
</base64></value></member>
<member><name>overwrite</name><value><string>false</string></value></member></struct></value></param></params></methodCall>