2016-06-28 6 views
1

Ich versuche, diesen curl Befehl zu konvertieren:curl Python-POST-Anfrage Bild-Upload Eingabefehler

curl -X POST -F "[email protected]" "https://gateway-a.watsonplatform.net/visual-recognition/api/v3/detect_faces?api_key={apikey}&version=2016-05-20" 

zu einer Python-Post-Anforderung.

verwendet this example in der Anleitung, aber ich bekomme immer noch eine keine Dateien hochgeladen Fehler.

url = {'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/detect_faces'} 
images= {'images_file': ('prez.jpg', open('prez.jpg', 'rb'))} 
payload = {'api_key': {apikey}, 'version':'2016-05-20'} 
r = requests.post(url, files = images, params = payload) 
print(r.text) 

Hier ist die Rückkehr aus dem Watson API:

{ 
    "error": { 
     "code": 400, 
     "description": "No images were specified.", 
     "error_id": "input_error" 
    }, 
    "images_processed": 1 
} 

Bin ich richtig Hochladen der Datei? Der curl-Befehl funktioniert gut, daher ist es wahrscheinlich nicht das Bild, das das Problem ist.

Antwort

1

Dies sollte zu Ihrer Curl-Anfrage passen.

url = 'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/detect_faces' 
images = {'images_file': open('prez.jpg', 'rb')} 
payload = {'api_key': "{{{}}}".format(api_key), 'version': '2016-05-20'} 
r = requests.post(url, files=images, params=payload) 
Verwandte Themen