Die WordPress REST API lässt mich anscheinend keine Datei mit dem Inhaltstyp "image/jpeg" hochladen.WordPress REST API: Content kann nicht hochgeladen werden image/jpeg
Wenn ich content-type auf eine leere Zeichenfolge setze, kann ich ein Medienelement erstellen und eine angehängte Datei hochladen (die sowohl in der Medienbibliothek als auch im Verzeichnis wp_content/uploads angezeigt wird). Dies führt jedoch zu einem ungültigen Bild, das WordPress nicht verarbeiten kann.
Dies ist der Code Ich verwende:
def post():
url = 'https://www.example.com/wp-json/wp/v2/media'
data = open('C:\\Pictures\\foo.jpg', 'rb').read()
r = requests.post(url=url,
files={'filename1': data},
data={'title': 'Files test'},
headers={'Content-Type': '', 'Content-Disposition': 'attachment; filename={}'.format('foo.jpg')},
auth=('username', 'password'))
return (r.status_code, r.text)
Als ich Content-Type zu 'image/jpg' gesetzt, 'image/jpeg', 'Bild', 'multipart', 'Anwendung' oder 'application/image' (Ich werde verzweifelt) Ich bekomme eine 403.
Wenn ich es auf 'application/json' wie von anderen vorgeschlagen einstellen, bekomme ich eine 400 mit 'ungültiger JSON Körper bestanden'.
Wenn ich Content-Type auslassen bekomme ich einen 500 mit der folgenden Meldung:
{"code":"rest_upload_unknown_error","message":"File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.","data": {"status":500}}')
Meine Datei nicht leer ist (es ist 26kB) und die vorgeschlagenen PHP.ini Fehler können vermutlich nicht, wenn ich bin kann eine Datei mit Content-Type = '' hochladen.
Irgendwelche Vorschläge, bitte?