2017-04-08 4 views
2

Beispiel i-DateiPython 3.5 + aiohttp: Typeerror: ein Byte-ähnliches Objekt erforderlich ist, nicht ‚str‘, wenn die Verwendung io.BytesIO

with open('test_zip'), 'wb') as f: 
    f.write(content) 
res = requests.post(URL, data={'file': content}) 

senden Und dann versuche ich die Datei auf der Server-Seite zu erhalten

async def handle(request): 
    form = await request.post() 
    data = io.BytesIO((form['file'])) 
    with open('test_zip_2', 'wb') as file: 
      file.write(data) 

Und ein Fehler auftritt, aber ich kann ein neues Archiv öffnen mit Ubuntu

data = io.BytesIO((form['file'])) TypeError: a bytes-like object is required, not 'str'

+0

Ich nehme an, dass 'form ['file']' vom Typ 'str' ist. Versuchen Sie stattdessen, 'form [' file ']. Encode (' ascii ') 'zu übergeben, da es das Byte-Array der Zeichenfolge verwendet. –

Antwort

Verwandte Themen