hotti: Selbstverständlich geht das

Beitrag lesen

Das hat mit dem Browser gar nichts zu tun. Was Du beschreibst, ist das Zusammenspiel zwischen Webserver und CGI-Prozess.

Was ich beschrieb, ist die funktionierende Lösung für die Fragestellung des OP - also genau das, was Du mit viel Prosa als unmöglich beschrieben hast.

Mit Heckenschützen über Prosa reden? Egal, ich versuche es noch einmal:

Das HTTP(rotokoll) lässt eine Fortschritt-Anzeige nicht zu, weil die gesamte Multipart-Message am Stück übertragen wird. Das heißt, die Response, die ein UserAgent vom Webserver bekommt, sagt aus, dass ALLES angekommen ist. Das ist die Prosa. Wenn Du das verstanden hast, schau bitte noch einmal in die Features von CGI.pm v3.63:

Neuere Versionen CGI.pm (v3.63, erfordert Perl v5.8) bieten die Möglichkeit, den vom Webserver gepufferten Datenstrom über eine eigene Callbackfunktion zu lesen.

Und das ist der Haken, die Crux, das Hook: CGI.pm bekommt einen vom Webserver gepufferten Datenstrom der Multipart-Message in STDIN. Wenn Du diesen Puffer sehen willst, brauchst Du einen zweiten UserAgent, der synchron mit dem Ersten laufen muss.

Und noch eine Überraschung wartet auf Dich, wenn Du CGI.pm verbietest, temporäre Dateien anzulegen: Das Parsen der Multipart-Message darfst Du in diesem Fall selbst übernehmen.

Wenn Du damit irgendwelche Erfolge erreichen konntest, komm raus aus Deiner Hecke und berichte darüber ;)

Hotti

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.