我正在开发一个.net 程序以通过 xml-rpc.net 与 wordperss 进行通信。我发现如果我试图通过“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>