• User

    [ASP.NET] Pagina attesa upload

    Provo ad essere chiaro ,Ho una pagina in cui faccio un upload di un file. siccome il file è pesante voglio aprire un'altra pagina in cui c'è un'oggetto che simula una progressbar e poi ritoranre alla mia pagina.
    il mio problema è che se faccio partire l'upload prima di caricare questa pagina essa partirà solo a upload finito.
    Allora ho pensato di passare a questa pagina i parametri dell'upload in modo che l'utente veda questa pagina (con la finta progressbar) mentre viene eseguito l'upload.
    Passo tutti i parametri necessari ma non posso settare da codice il parametro path nell'oggetto dell'upload.
    Come fare????

    Oggetto che utilizzo:

     
    <inputtype="file"id="File"runat="server"style="width: 256px; height: 24px"/> 
    
    

    Metodo di upload funzionante:

     
    Dim s() AsString = Split(File.Value, "\")
    File.PostedFile.SaveAs(Server.MapPath("~/public/Upload/" & s(UBound(s)))) 
    
    

    Parametro non impostabile:

    
    File.Value = Request.QueryString("path")
    

  • User

    Nessuno sa aiutarmi sul come far comparire una piccola animazione o gif durante l'upload di un file ???


  • User

    io un ASP (non .net) ho fatto così:
    1)form -> invio
    2)pagina che compie azione salvataggio
    3)apertura popup con progress bar finta 😄
    4)ciclio while che controlla esistenza del file nella cartella di destinazione
    quando il file viene scritto sull'hard disk redirect verso un'altra pagina che conferma l'avvenuto caricamento e che chiude la popup con la progress bar

    a mali estremi....


  • User

    Dopo mille ricerche e vicessitudini... evitando a tutti i costi il java che non conosco ma sembrava essere la soluzione più semplice (per chi lo conosce), ho risolto in modo carino con questo codice che condivido per chi ne avesse bisogno...

    VB.NET

     
    Protected Sub But_UPbmp_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles But_UPbmp.Click
     
       Dim inizio As DateTime = DateTime.Now
       Do While (Now().Subtract(inizio).TotalSeconds <= 5)
       Loop
     
    'scrivete qui il vostro codice per l'upload
     
    End Sub
     
    Private Sub But_UPbmp_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles But_UPbmp.Init
     
       Dim btn As Button = DirectCast(sender, Button)
       btn.Attributes.Add("onclick", "v=this;window.setTimeout(function(){v.disabled=true;document.getElementById('FlashUp').innerHTML = 'Attendere Prego...';}, 1);")
     
    End Sub
    
    

    HTML

     
    <div id="FlashUp" runat="server">
    </div>
    
    

  • User

    Per favore LiquidFly mi dici come integrate il tuo scritp nel mio ?

    Grazie !

    
    <%@ page language="VB" %>
    <script runat="Server">
     Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
      Dim PercorsoObj As String = Server.MapPath("public\upload\")
      Dim Cartella As String = Dir(PercorsoObj, vbDirectory)
      If Cartella = "" Then
       MkDir(PercorsoObj)
      End If
     End Sub
    
     Sub caricaFile(ByVal Sender As Object, ByVal e As EventArgs)
      Dim strFile = FileObj.PostedFile.FileName
      Dim strNomeFile As String = System.IO.Path.GetFileName(strFile)     
      Dim PercorsoObj As String = Server.MapPath("public\upload\")
      Try
       FileObj.PostedFile.SaveAs(PercorsoObj & "\" & strNomeFile)
      Catch strEccezzione As Exception
       risultato.Text = "Errore nel trasferimento del file !"
      End Try
     
     End Sub
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>Upload File</title>
    </head>
    <body>
        <h1>Upload:</h1>
            <form id="form1" method="post" enctype="multipart/form-data" runat="server">
                <div>
                    <p>
                        <label for="FileObj">Seleziona File:</label>
                        <input id="FileObj" type="file" runat="server" />
                    </p>
                    <p>
                        <asp:Button runat="server" ID="invia" onClick="caricaFile" Text="Allega File sul Server" />
                    </p>
                    <hr />
      <div id="FlashUp" runat="server"></div>
                    <p>
                        <asp:Label runat="server" ID="risultato" />
                    </p>
                </div>
            </form>
    </body>
    </html>
    
    

  • User

    ho risolto da solo 🙂

    grazie !


  • User

    Bene... Grazie.
    anche perchè vedo solo adesso il tuo messaggio...
    Scusami, sono sempre in giro per il mondo con connessioni più o meno precarie.

    Ciao alla prossima, magari sarò un po' più utile. 😉


  • Moderatore
     
    ...
       Do While (Now().Subtract(inizio).TotalSeconds <= 5)
       Loop
      ...
    
    

    ...e se l'upload dura più di 5 sec?