Ich versuche, einen Flaschen-Server zu entwickeln, der ein Präsentationsobjekt basierend auf JSON-Daten und Dateien aus einer HTTP-Post-Anfrage generiert. Ich bin in der Lage, die Datei lokal mit dem gleichen Code zu generieren, aber wenn ich versuche, es als HTTP-Antwort zu senden ist fehlgeschlagen. HierSenden Präsentationsobjekt als HTTP-Antwort zum Download.
ist das Code-Snippet für sie als HTTP-Antwort zu senden -
prs_file_io = BytesIO()
prs.save(prs_file_io)
resp = Response()
resp.status_code = 200
resp.set_data(prs_file_io.getvalue())
return resp
Und hier ist das Python-Skript die Anfrage zu senden und zu versuchen, die Datei zu speichern -
r = requests.post('http://localhost:8181/create-ppt',
#data=open('tile_resp.json', 'rb'),
files={'1': open('./0NtNFb0F9ch15fDrgYoECEpctPkjvayD.png', 'rb'),
'tile_data': open('tile_resp.json', 'rb')})
print(r.content)
Und schließlich I pipe die Ausgabe vom Anforderungsskript in eine pptx-Datei.
Aber das funktioniert nicht, keine Ahnung, welchen Fehler ich hier mache?
Ich bin nicht so vertraut mit pptx, aber ich nehme an, Ihre Antwort sollte einen bestimmten Mimetyp/Content-Type haben? – VKolev
Sind 'r.content' genaue Daten, wie Sie erwarten? – Andersson
@VKolev - Sollte der Inhaltstyp nicht automatisch festgelegt werden? – yashdosi