Wordpress Не удается загрузить изображение через wp.uploadFile с помощью С#

Я работаю над программой .net для связи с wordperss через xml-rpc.net. Я обнаружил, что если я пытаюсь загрузить довольно большое изображение через «wp.uploadFile», wordpress вернет сообщение об ошибке «ошибка синтаксического анализа (-32700), ну, не сформировано». Я попробовал Windows Live Write, чтобы написать сообщение. Однако, если я выберу ссылку на исходное изображение, я получу сообщение об ошибке, говорящее, что я не могу загрузить изображение, и было предложено загружать изображения через ftp.

Я нашел эту статью: Ошибка загрузки изображения

Я думаю, что все еще может быть проблема с чтением большого запроса, не содержащего строк разрыва, поэтому я сам создаю xml и добавляю строку разрыва ('\r\n') каждые 76 символов в соответствии с RFC 822. Но проблема в том, еще там, другими словами, я не могу загрузить какие-то большие изображения. мой 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>

person user1694035    schedule 24.09.2012    source источник


Ответы (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>
person Tommy    schedule 04.12.2013