Sammeldownload anbieten
Thomas Mirke
- perl
0 Cheatah0 Rolf Rost0 Thomas Mirke0 Rolf Rost0 Thomas Mirke0 Struppi
0 Eternius0 Thomas Mirke0 Eternius
0 Eternius
Hallo!
Ich möchte einen Sammeldownload anbieten, ohne dies per Javascript jeweils über ein neues Window und settimeout zu steuern. Denn um dies exakt genug machen zu können, muss hierfür die Übertragungsrate bekannt sein, sonst "verschluckt" der Browser den folgenden Download. Sammeldownload heißt, der Anwender soll auf den Download-Button klicken und nacheinander verschiedene Files zum Öffnen/Speichern angeboten bekommen.
Am liebsten wäre mir eine servergesteuerte Möglichkeit. Dazu habe ich einiges bereits erfolglos probiert - möglich, dass diese Angelegenheit technisch auch gar nicht geht.
Ein Perl-Script könnte nacheinander files einlesen und diese auf die Standard-Schnittstelle ausprinten. Ggf. läßt sich die Header-Ausgabe modifizieren, also statt
print "Content-type: text/html\n\n";
ließe sich z.B.
print "Content-type: multipart/mixed\n\n";
verwenden? Leider klappt dies nicht wie gewünscht.
Gibt es eine Möglichkeit, vom Server her einen Datenstrom zu senden, den der Browser bzw. das empfangende Programm versteht, in mehrere Happen aufzuteilen?
Ich habe auch ein wenig mit dem Modul LWP::UserAgent experimentiert, jedoch keine brauchbaren Ergebnisse erzielt.
Vielleicht bin ich auch auf dem Holzweg und es gibt hierfür keine Serverlösung.
Für konstruktive Tipps vielen Dank im Voraus!
Thomas
Hi,
Gibt es eine Möglichkeit, vom Server her einen Datenstrom zu senden, den der Browser bzw. das empfangende Programm versteht, in mehrere Happen aufzuteilen?
sicher - wenn das empfangende Programm z.B. ZIP heißt.
Cheatah
Hallo!
ich hab das mal so gemacht, dass der Besucher die Dateien per checkbox auswählt. Das CGI erstellt dann (mit Archive::Tar) ein temptoräres Tarfile, das, wenn es fertig ist, dann zum Browser geschickt wird. Und wie das geht, hab ich hier mal beschrieben:
http://perlbase.xwolf.de/cgi-bin/perlbase.cgi?display=10&id=13
Gruss, Rolf
Hallo Rolf,
danke für den Vorschlag.
Ganz perfekt ist es damit aber noch nicht gelöst, denn ich möchte nicht, dass der Anwender die empfangenen Daten erst wieder entpacken muss (ob nun tar oder zip). Vielmehr soll sich unter Windows sogleich die passende Applikation mit dem jeweiligen File (nacheinander) starten lassen, damit es der geneigte User so simpel wie möglich hat.
Gruß,
Thomas
hi,
Ganz perfekt ist es damit aber noch nicht gelöst, denn ich möchte nicht, dass der Anwender die empfangenen Daten erst wieder entpacken muss (ob nun tar oder zip). Vielmehr soll sich unter Windows sogleich die passende Applikation mit dem jeweiligen File (nacheinander) starten lassen, damit es der geneigte User so simpel wie möglich hat.
hmm, nacheinander. Befass dich mal mit serverpush.
Gruss, Rolf
Ich würde sowas nur machen wenn es einen guten Grund dafür gibt.
Hallo Rolf,
Serverpush geht wohl nur mit Netscape und der
der MIME (multipart/x-Mixed-Replace) war lediglich experimentell und wurde nie zum Standard.
Es wäre mir wichtiger, dass es mit dem IE geht, da der nun mal die größte Verbreitung hat.
Der gute Grund ist, dass mein Boss es so möchte (:-))
Wenn es ginge, wäre es wohl für den Anwender auch die einfachste Variante mit den geringsten Rückfragen.
Danke, immerhin hab ich einen Ansatz um weiterzuexperimentieren.
Thomas
Der gute Grund ist, dass mein Boss es so möchte (:-))
Wenn es ginge, wäre es wohl für den Anwender auch die einfachste Variante mit den geringsten Rückfragen.
Das ist vermutlich der Grund, warum Windows mit sovielen Sicherheitslöchern gesegnet ist. Dem User es möglichst einfach mit möglichst wenig Rückfragen machen. Das kann man evtl. bei einer anwendung machen (wobei ein Nutzer, nachdem er das dritte mal seine Daten aus versehen ohne Rückfrage gelöscht hat, sicher auch das Programm verteufelt und wegschmeißt).
Mittlerweile, wegen der vielen vielen Viren, Trojaner und was weiß ich, ist etwas mehr Sicherheitsbewußtsein aufgekommen - bei deinem Chef anscheinend noch nicht - so dass das was du willst nicht gehen wird.
Struppi.
Ups,
und was ist, wenn der user das gar nicht möchte, oder er es seinem browser nicht erlaubt, was würdest du machen, wenn du 20 files auswählst, und es gehen zwanzig verschiedene applikationen auf?
;-)
gruss
Hallo,
na, wenn der User es nicht möchte, kann er die Files auch einzeln runterladen. Das ist klar.
Gruß,
Thomas
dann würde ich vorschlagen du bietest drei sachen an:normaler download, server push und zip
gruss
Hallo,
am einfachsten und besten finde ich: files auswählen, der server packt das ganze in archiv und das archiv wird gesendet.
gruss