Wenn ich einen Download aus dem Blobstore diene, bemerke ich, dass der Browser NICHT die totale Größe und verbleibende Zeit anzeigt, der Download läuft bis zum Abschluss, aber der Browser scheint keine Ahnung zu haben, wie groß die Gesamtgröße ist erwartet.
Beachten Sie Folgendes:
Dies geschieht nur auf dem Produktionsserver unter appspot.com. In der Entwicklungsumgebung (localhost) funktionieren die Dinge wie erwartet, der Browser zeigt die Gesamtgröße, den Prozentanteil und die verbleibende Zeit an ...
Ich habe versucht, den Header 'Content-Length' auf die Blob-Größe zu setzen, kein Glück.
Beim Analysieren der Header eines heruntergeladenen Blobs fehlt der Content-Length-Header (selbst wenn ich ihn vor der Verwendung von "send_blob" geschrieben habe). Die Header sind wie folgt:
HTTP / 1.0 200 OK = & gt;
Cache-Steuerung = & gt; Nicht-Cache-Speicher
Inhaltsdisposition = & gt; Befestigung; filename="Setup.exe"
Ablauf = & gt; Fr, 01 Jan 1990 00:00:00 GMT
Inhaltstyp = & gt; Anwendung / Oktettstream
Datum = & gt; Do, 31 Mar 2011 20:19:52 GMT
Server = & gt; Google Frontend
Hat jemand eine Vorstellung davon, wie der Browser die Gesamtgröße, den Prozentsatz des Downloads und die geschätzte verbleibende Zeit anzeigen kann?
Sie können nichts dagegen tun, es sei denn, dieses Problem .
Hier sind die Probleme:
Die BlobInfo -Klasse tut dies nicht Habe ein Dateigrößenattribut.
Die send_blob funktion, mit BlobInfo
as Parameter, kann einen Content-Length
HTTP Response-Header nicht festlegen.
Der Content-Length
Header kann nicht von der Anwendung auf GAE.
Wenn Sie die Blobstore-API mit Google Cloud Storage verwenden, können Sie sie einfach über GCS direkt über Blob.generate_signed_url , die einen Content-Length-Header hinzufügt.
Tags und Links google-app-engine blobstore