Download prüfen
-
Hallo,
angenommen ich habe ein Zip File das ein User von einer Webseite herunterladen will, wie kann ich prüfen das es fehlerfrei bzw. vollständig angekommen ist?
-
Um herauszufinden, ob das File ganz geladen wurde, könntest du die Länge der Datei mit der Anzahl Daten im Stream vergleichen. Das Format kannst du nicht prüfen - ausser du willst einen Zip-Packer schreiben. Möglicherweise gibt es auch vertige Libs. mfg h4xX0r
-
Wie müsste ich das denn machen wenn ich nur die Bytes prüfen wollte.
Geht das mit der Klasse WebClient, da gibt es nämlich solche Funktionen wie FileUpload etc.
Mir ist nicht ganz klar wie ich die Datei nach dem Download auf dem Client finde, um die Größe der Datei mit der Größe der Originaldatei auf dem Server zu vergleichen.
-
Um die Daten zu lesen verwendest du doch einen System::IO::Stream, oder ? Wenn du einen Stream auf die Datei kriegst, kann man die Anzahl Bytes auslesen... und mit der Länge der Datei vergleichen. Die Länge der einer Datei aufdem Datenträger zu ermitteln, ist nicht so schwer. Schau mal unter System::IO::FileInfo oder wie das dort heisst. mfg h4xX0r
-
Jo,
also mit FileInfo.Length kann ich die Größe herausfinden, nur wie lokalisiere ich jetzt die Datei auf dem Client. Der Webserver bekommt doch nicht mit wohin der Client die Datei speichert, zumal der User den speicherort selbst wählen kann?
-
Der SErver mUss das auch gar nicht wissen, es wäre sowieso ein viel zu grosser Aufwand. Aber sag mir, wie du die Daten ausliest. Verwendest du einen Stream ???
-
Also,
ich möchte eine Art MusicLoad erstellen, der user wählt sich 2-10 Titel aus, diese werden dann in ein Zip oder rar verpackt. Der user klickt anschielssend auf einen link und der Download beginnt wie bei jeder zip/rar Datei.Der User wählt aus wo er das ganze gespeichert haben will und das wars.Jetzt will ich natürlich wissen ob auch alles übertragen worden ist, denn sonst könnte der user ja sagen, der download war unvollständig und will das Geld zurück.
-
Und ich dacht', du liest die Datei mit nem Stream rein... Nu ist es aber schwerer, festzustellen, ob die ganze Datei geladen wurde. Du kannst als Server nicht auf die Daten des Clients zugreifen, soweit ich das weiss. Der Client müsste dir die Länge der geladenen Datei zurücksenden, damit du vergleichten kannst.
-
Ja darauf hatte ich mich schon eingestellt, also müsste man ein Clientprogramm schreiben das die Größe ermittelt und dann an den Server sendet.
Aber da fällt mir ein, wie macht das Microsoft mit den SecurityUpdates etc. die schauen doch auch nach was schon alles an Patches auf deinem Rechner ist und bieten dir dann die Fehlenden an, über Coockies machen die das nicht, da bin ich mir ziemlich sicher?
-
Die stellen deinem Rechner eine Anfrage, der sendet einige DAten zurück. Diese werden ausgewertet und schon weiss M$, was dein PC noch "braucht". Aber ma ehrlich : Damit kenne ich mich noch nicht so aus...
-
Da kannst du mit PHP und den POST-Funktionen ganz schnell n kleines Serverprogramm schreiben, welches deine Aufgaben erledigt
M.T.