So erhalten Sie hochgeladene Datei mit Klein wie Flask in Python

8

Beim Einrichten eines Flask-Servers können wir versuchen, den von

hochgeladenen Dateibenutzer zu empfangen %Vor%

Wenn ich mir die Klein -Dokumentation anschaue, habe ich http://klein.readthedocs.io/en/latest/examples/staticfiles.html gesehen, aber es scheint, als würde ich eine Datei vom Webservice bereitstellen, anstatt eine Datei zu erhalten, die auf den Webservice hochgeladen wurde. Wenn ich meinen Klein Server in die Lage versetzen möchte, eine abc.jpg zu erhalten und diese im Dateisystem zu speichern, gibt es dann irgendeine Dokumentation, die mich auf dieses Ziel hinführen kann?

    
JLTChiu 24.08.2016, 19:14
quelle

1 Antwort

2

Als Liam Kelly kommentiert, sollten die Snippets aus diesem Post funktionieren. Die Verwendung von cgi.FieldStorage ermöglicht das einfache Senden von Dateimetadaten, ohne sie explizit zu senden. Ein Klein / Twisted-Ansatz würde etwa so aussehen:

%Vor%

Aus irgendeinem Grund gibt meine Python 3.4 (Ubuntu 14.04) Version von cgi.FieldStorage nicht die korrekten Ergebnisse zurück. Ich habe das auf Python 2.7.11 getestet und es funktioniert gut. Mit dieser Aussage könnten Sie auch den Dateinamen und andere Metadaten im Frontend erfassen und in einem Ajax-Call an klein senden. Auf diese Weise müssen Sie nicht zu viel Verarbeitung im Backend durchführen (was normalerweise eine gute Sache ist). Alternativ können Sie herausfinden, wie Sie die von werkzeug bereitgestellten Dienstprogramme verwenden. Die Funktionen werkzeug.secure_filename und request.files (dh FileStorage ) sind nicht besonders schwierig zu implementieren oder neu zu erstellen.

    
notorious.no 11.09.2016, 17:13
quelle

Tags und Links