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

Printed on: April 19, 2024 at 22:04 o'clock

Mitglied: 131381
131381 Nov 10, 2016 at 11:28:11 (UTC)
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ß
Member: nullacht15
nullacht15 Nov 10, 2016 at 11:52:48 (UTC)
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
Solution 131381 Nov 10, 2016 at 11:56:07 (UTC)
Goto Top
Note that ‘php://input’ does not work with enctype=”multipart/form-data”.
Member: nullacht15
nullacht15 Nov 10, 2016 at 12:06:44 (UTC)
Goto Top
perfekt, endlich auf den richtigen Dampfer gekommen.
Danke dir!

Läuft jetzt übrigens mit $_FILES