nullacht15
Goto Top

Python requests JSON Objekt + Bild versenden

Hi,

ich hatte vor einigen Tagen schon mal eine Frage gestellt, die mir hier auch wunderbar beantwortet wurde (PHP Skript via Python starten mit JSON Objekt als Parameter).
Leider bin ich jetzt aber am nächsten Knackpunkt angelegt. Die Übertragung meiner Daten als JSON via request funktioniert einwandfrei, nur mir ist eingefallen, dass ich zudem noch immer ein Bild vom Client auf den Server schieben muss.

Gibt es die Möglichkeit den Request um das Bild einfach zu erweitern?
Laut Internet-Recherche würde das funktionieren, ist aber scheinbar nicht die beste Lösung.

Wie würdet ihr das Problem lösen? Alternativen?

Vielen Dank im Voraus.

Content-Key: 320526

Url: https://administrator.de/contentid/320526

Ausgedruckt am: 19.03.2024 um 03:03 Uhr

Mitglied: 131381
131381 10.11.2016 um 12:28:11 Uhr
Goto Top
Einfach statt dem application/json post ein Multipart-Binary-Post machen.
http://docs.python-requests.org/en/latest/user/quickstart/#post-a-multi ...

Gruß
Mitglied: nullacht15
nullacht15 10.11.2016 um 12:52:48 Uhr
Goto Top
Client:
url = MEINE_URL
files = {'file': open('test.txt', 'rb')}  
r = requests.post(url, files=files, auth=(MEIN_USER, MEIN_PW))

Server:
<?php
$data = file_get_contents("php://input");  
...
?>

$data ist bei mir ein leerer String. Was genau passt denn nicht?
Wenn ich den Request "normal", also nur mit JSON versende funktioniert es ...

Danke im Voraus.
Mitglied: 131381
Lösung 131381 10.11.2016 um 12:56:07 Uhr
Goto Top
Note that ‘php://input’ does not work with enctype=”multipart/form-data”.
Mitglied: nullacht15
nullacht15 10.11.2016 um 13:06:44 Uhr
Goto Top
perfekt, endlich auf den richtigen Dampfer gekommen.
Danke dir!

Läuft jetzt übrigens mit $_FILES