- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP.NET] Pagina attesa upload
-
[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")
-
Nessuno sa aiutarmi sul come far comparire una piccola animazione o gif durante l'upload di un file ???
-
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 bara mali estremi....
-
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...
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>
-
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>
-
ho risolto da solo
grazie !
-
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.
-
... Do While (Now().Subtract(inizio).TotalSeconds <= 5) Loop ...
...e se l'upload dura più di 5 sec?