text / event-stream wird als Download erkannt

7

Ich versuche, in meinem Flask-Projekt den Serverschub nach diesem Tutorial zu implementieren.

Ich habe alles ohne Fehler eingestellt, aber wenn ich auf die Seite / stream gehe, erkennt Firefox es als Datei und versucht es herunterzuladen. In Safari werden nur die gesendeten Daten ausgedruckt. Ich habe versucht, den Code an eine einfachere Implementierung anzupassen, bei der ein Thread nur einige Daten pro Sekunde liefert, jedoch die gleichen Ergebnisse liefert.

Mein Ziel ist, dass jedes Mal, wenn ein Python-Skript einen Punkt in einer Schleife erreicht, eine Fortschrittsanzeige auf der Weboberfläche aktualisiert wird.

Jede Hilfe dabei wäre großartig. Danke.

Bearbeiten:

app.py

%Vor%

index.html

%Vor%     
DJDMorrison 22.10.2014, 18:31
quelle

1 Antwort

20

BEARBEITEN

Ich habe meine Beispielanwendung auf meinen Github hochgeladen. Schau es dir hier an: Ссылка

Ich habe es ausgearbeitet, aber für jeden anderen, der das gleiche Problem hat:

Die Seite index.html wird niemals geladen, da sie nie in app.py aufgerufen wird. Die Vorgehensweise besteht darin, zu einer separaten Route / Seite zu wechseln und dann send_file('index/html') zurückzugeben. Dadurch wird die Indexseite geladen, die mit / stream verknüpfte EventSource erstellt, die dann die Stream-Methode in app.py startet und die korrekten Daten liefert.

Beispiel, das einen Fortschrittsbalken erstellt, indem x alle 0,2 Sekunden erhöht und auf der Webseite angezeigt wird:

app.py

%Vor%

progress.html

%Vor%     
DJDMorrison 24.10.2014, 16:42
quelle

Tags und Links