Donwload Ende Bestimmung

Hallo zusammen,

wenn ich von einem Webserver einen Download starte (z.B. ein Excel Sheet), dauert es ja eine Weile, und dann bekomme ich einen Öffnen/Speichern/Abbrechen - Dialog. Dann kann ich die Datei öffnen, speicher …
Frage: Was löst diesen Dialog aus? Irgend etwas muß ja meinenm System sagen, der Download ist da, jetzt kann mit der Datei etwas getan werden.

Danke
Michael

Moin, Michael,

wenn ich von einem Webserver einen Download starte

genau das ist der Knackpunkt: innerhalb des Browsers wird ein Programm gestartet. Irgendwann merkt dieses Programm, dass nichts mehr zu holen ist, und meldet das an die aufrufende Prozedur.

Gruß Ralf

Hi Ralf,

sicher. Wenn dieses magische Programm merkt, es ist nichts mehr zu holen, gibts dann nicht eher eine Fehlermeldung?
Wenn ich einfach im Download die Verbindung kappe, ist ja auch nichts mehr zu holen, und da startet der Dialog auch nicht.
Für mich ist wichtig, ob der Server sagt „Fertig“, oder das aus der Datei kommt, oder was auch immer.
Ich frage deswegen so genau, weil wir eine Fehlwersuche betreiben
Danke
Michael

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Michael,

mit Download-Programmen habe ich mich bislang nicht befasst, das kann dort aber nicht anders laufen als bei jedem beliebigen Leseprogramm: Die Software setzt Lesebefehle ab und fragt nach jeder Befehlausführung, ob noch Daten gekommen sind. Wenn nicht, dann weiß sie, dass die Quelle erschöpft ist. In manchen Lehrbüchern spricht man von End of file- oder End of data-Bedingung, auch EOF und EOD bekannt.

Gruß Ralf

Dateiheader
Jede Datei hat einen spezifischen Header.
Zum Beispiel „application/octet-stream“.
Wenn der Browser mit diesem Header nichts anfangen kann fragt er dich, was du mit dieser Datei machen willst.

Besonders für Webserver ist das interessant :wink:
wenn da mal der php interpreter ausfällt kannst du auch die php-quellcodes runterladen :wink:

Normalerweise kann man den Server auch einfach fragen, wie groß die Datei ist.

Sonst könnte beispielsweise die Dialogbox, die der IE oder andere Browser beim Download öffnen, ja wohl schwerlich eine Prozentangabe machen oder ein Schätzung abgeben, wie langes noch dauert.
Allerdings unterstützen wohl nicht alle Server diese Anfrage, darum gibt’s immer mal wieder Downloads im „Blinflug“.

Hi mabuse,

Normalerweise kann man den Server auch einfach fragen, wie
groß die Datei ist.

das ist zwar richtig, ändert aber nichts daran, dass nicht jeder Abruf von Daten erfolgreich ist. Sobald auch nur ein Zugriff in die Hose geht, muss doch wieder nach dem „Eof“ gefragt werden.

Gruß Ralf

das ist zwar richtig, ändert aber nichts daran, dass nicht
jeder Abruf von Daten erfolgreich ist. Sobald auch nur ein
Zugriff in die Hose geht, muss doch wieder nach dem „Eof“
gefragt werden.

Das versteh ich jetzt nicht.
Wenn irgendetwas „in die Hose geht“ (was genau meinst du denn damit?), also beispielsweise ein Paket mit Fehlern ankommt, dann kümmert sich üblicherweise das Betriebssystem darum und fordert dieses Paket neu an. Darum tragen Pakete Checksummen. Wenn ein Paket unterwegs verschwindet, dann bekommt der Server von deinem Rechner kein ACK-Paket (Empfangsquittung), bemerkt also nach einiger Zeit, das es wohl verloren gegangen ist, und versendet es neu.
Von beiden Sicherheitsmechanismen bekommt der User normalerweise gar nix mit.

Also wo liegt jetzt dein Problem?

Im Übrigen ist deine ursprüngliche Frage

wenn ich von einem Webserver einen Download starte
(z.B. ein Excel Sheet), dauert es ja eine Weile, und dann
bekomme ich einen Öffnen/Speichern/Abbrechen - Dialog.
Dann kann ich die Datei öffnen, speicher …
Frage: Was löst diesen Dialog aus? Irgend etwas muß ja meinenm
System sagen, der Download ist da, jetzt kann mit der Datei etwas getan werden.

schlicht und ergreifend Unsinnig.
Lad mal was wirklich großes herunter. Ein Video mit mehreren hundert MB.
Der Öffnen/Speichern-Dialog kommt fast sofort - und nicht erst, wenn die Datei da ist.
Vermutung: Sobald der Server sagt okay, kannste haben (und etvl. wie groß die Datei ist).

Von daher ist mir völlig unklar, was der Hintergrund deiner Frage ist . . .