2012-09-24 35 views
3

我正在通过xml-rpc.net与一个.net程序通过wordperss进行通信。我发现如果我想通过“wp.uploadFile”上传一个很大的图片,wordpress会返回一个错误,说“解析错误(-32700),很好,没有形成”。我试图用Windows Live Write来写一篇文章。但是,如果我选择链接源图片,则出现错误,说我无法上传图片,并建议通过ftp上传图片。Wordpress无法通过wp.uploadFile使用c上传图像#

我发现这篇文章: 图片上传失败

我觉得有可能还是在读大的请求不包含断裂线的一些问题,所以我创建XML自己,并添加断线('\ r \ n')根据RFC 822每76个字符。但问题仍然存在,换句话说,我无法上传任何大的图像。 我的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> 

回答

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> 
+0

Thx。我试图在vs2010上构建这个项目,它的工作原理很奇怪,不是吗? – user1694035

+0

这很好!我知道有时会发生这种事情:) – Tommy