Rannh: FileUpload nach Seitendarstellung

Grüss euch,

wieder mal ich. Mein nächstes Problem auf dem Weg zur besten Firmenpage (jaja, ich lach selber drüber) ist folgendes:

Ich biete einen File-Upload an, der funktioniert (!).
Das ist alles in ASP geschrieben. Dabei wählt der User in Seite1.asp die Datei aus und ruft per Form-Submit (enctype="multipart/form-data") die Seite upfinish.asp auf.

In der 2ten Seiten wird auch der Upload ausgeführt. Das Blöde dabei ist halt, dass die Seite während dem Upload leer ist, man sieht den Content erst nach dem Upload. Ich möchte da eben eine Grafik einbinden, die während dem Upload so was wie "FILE IS UPLOADING..." anzeigt, damit der User nicht in die Röhre guckt und versteht, was abgeht.

Jetzt ist halt die Frage: Wie binde ich die Grafik ein?

Ich denke mir den Ablauf theoretisch so vor:

Dateiauswahl
Submit
Öffne upfinish.asp blank
Zeige Grafik "wait.gif"
Starte FileUpload

? Upload fertig
JA > Blende Grafik aus
   > Zeige Uploadresult (KB/s usw.)

Im Moment ist es so:

Dateiauswahl
Submit
Öffne upfinish.asp blank (nur ne leere Seite zu sehen)
Starte FileUpload

? Upload fertig
JA > Zeige Uploadresult (KB/s usw.)

D.h. ich muss zuerst upfinish.asp halb anzeigen, dann FileUpload und danach vollständig anzeigen. Nur in ASP gibt es mal keine Prozeduren und so weiter.
Hoffe ich konnte euch helfen, damit ihr mir helfen könnt.

Danke Leutz mfg

  1. Hallo,

    dein Problem ist ein anderes: Die Zeit in der du nichts siehst geht nicht auf dem Server drauf, sondern dafür, dass dein Browser den Inhalt an den User überträgt.
    Du hast vielleicht folgende Möglichkeiten:

    1. Frames verwenden, und zwar so, dass oben ein 1px-Frame und unten der Hauptframe ist
    2. onsubmit-Event des Formulars abfangen, jetzt mit JavaScript das obere Frame auf 99% setzen, damit sieht man von der sich gerade verschickenden Seite nichts mehr
    3. im onload der upfinish.asp dann das Frame wieder auf 1px setzen, so dass der Hauptframe wieder sichtbar wird.
      Schlecht an dieser Lösung ist aber eben, dass du JavaScript und Frames brauchst.

    Es gibt z.B. für das Upload-Control Persits ASPUpload eine Erweiterung, die auch direkt eine ProgressBar darstellt http://www.aspupload.com/manual_progress.html, wie die genau arbeitet weiß ich allerdings nicht, da ich mich auch mit diesen Serverkomponenten intern nicht auskenne.

    MfG
    Rouven

    --

    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  2. Hi Rannh,

    Ich denke mir den Ablauf theoretisch so vor:

    Dateiauswahl
    Submit
    Öffne upfinish.asp blank
    Zeige Grafik "wait.gif"
    Starte FileUpload
    ? Upload fertig
    JA > Blende Grafik aus
       > Zeige Uploadresult (KB/s usw.)

    Geht das nicht so irgendwie? (Weiß es selbst nicht, nur so 'ne Idee)

    response.Buffer=true
    '...Hier die Grafik anzeigen
    response.Flush()
    '...Hier der Upload
    response.Flush()

    LG, piranja

    1. Hi Rannh,

      Ich denke mir den Ablauf theoretisch so vor:

      Dateiauswahl
      Submit
      Öffne upfinish.asp blank
      Zeige Grafik "wait.gif"
      Starte FileUpload
      ? Upload fertig
      JA > Blende Grafik aus
         > Zeige Uploadresult (KB/s usw.)

      Geht das nicht so irgendwie? (Weiß es selbst nicht, nur so 'ne Idee)

      response.Buffer=true
      '...Hier die Grafik anzeigen
      response.Flush()
      '...Hier der Upload
      response.Flush()

      LG, piranja

      Grüss dich,

      Also ich habs getestet und es funktioniert leider nicht. Ich hab mich dabei an deine Idee gehalten und mich über das Flush informiert. Die Grafik wird immer noch zu spät angezeigt. Ich habe den Verdach (oder so'n Gefühl), dass es am enctype liegt...

      Der Ablauf war folgender:

      Response.Buffer = True

      <head>....

      <body>....

      grafik anzeigen

      Response.Flush

      fileupload

      Danach kommt kein Flush mehr. Hab ich ne Gurke im Sourcecode???

      mfg