2015-03-17 7 views
7

sto lavorando con API wechat ... Qui ho per caricare un'immagine del server di a wechat utilizzando questa API http://admin.wechat.com/wiki/index.php?title=Transferring_Multimedia_FilesCaricare l 'immagine utilizzando i dati dei moduli Share Python-richieste

url = 'http://file.api.wechat.com/cgi-bin/media/upload?access_token=%s&type=image'%access_token 
    files = { 
     'file': (filename, open(filepath, 'rb'), 
     'Content-Type': 'image/jpeg', 
     'Content-Length': l 
    } 
    r = requests.post(url, files=files) 

Sono non è in grado di inviare i dati

risposta

17

da wechat api doc:

curl -F [email protected] "http://file.api.wechat.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE" 

tradurre il comando sopra al python:

012.
import requests 
url = 'http://file.api.wechat.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE' 
files = {'media': open('test.jpg', 'rb')} 
requests.post(url, files=files) 
+0

Ho un problema con il cumulo di una pausa, quando provo a inviare una richiesta, la risposta è "messaggio": "Nessuna immagine fornita nella richiesta di dati del modulo", la mia richiesta è la seguente: arricciatura - X POST --header "Content-Type: multipart/form-data" --head er "Accetta: application/json" --header "api_key: zzzz" --header "Content-Type: image/jpg" - intestazione "Content-Disposition: form-data" -F media = 2016-09-14-154558.jpg "xxxx" –

+0

Se qualcuno deve fornire dati come 'oggetto file', ad esempio se si ottiene un'immagine come' some_image = requests.get (url_to_some_image) 'e vuoi postare questa immagine in qualche posto, devi creare un'immagine come' file object'. Per fare ciò, in base alla risposta di Kev, è necessario creare 'files = {'media': io.BytesIO (some_image.content)}' – TitanFighter

Problemi correlati