Nu puteți afișa într-adevăr "timp" de up-load până când utilizatorul începe.
DEJA puteți vedea dimensiunea fișierului în ecran capac, deci de ce e nevoie pentru asta?
trebuie:
deci, în sus, veți vedea numele de fișier, veți vedea dimensiunea fișierului.
Cu toate acestea, până când te-a lovit up-load și începe încărcarea fișierelor, nu știu încă în sus-timpul de încărcare ca de încă, nu?
Deci, atunci când te-a lovit până-încărca fișiere, apoi fiecare fișier selectate vor fi încărcate, și în partea de server (cod spatele), ai asa:
Protected Sub AjaxFileUpload1_UploadComplete(sender As Object, e As AjaxControlToolkit.AjaxFileUploadEventArgs) Handles AjaxFileUpload1.UploadComplete
Dim strFileSave As String
strFileSave = Server.MapPath("~/Content/" & e.FileName)
AjaxFileUpload1.SaveAs(strFileSave)
' now code to add say to a database table of files up-loaded.
Using conn As New SqlConnection(My.Settings.TEST4)
Dim strSQL = "INSERT IGNORE INTO MyUpoadFiles (FileName, UpLoadTime, Size, User_id) " &
"VALUES (@File, @Time,@Size, @User)"
Using cmdSQL As New SqlCommand(strSQL, conn)
conn.Open()
With cmdSQL.Parameters
.Add("@File", SqlDbType.NVarChar).Value = e.FileName
.Add("@Time", SqlDbType.DateTime).Value = Date.Now
.Add("@Size", SqlDbType.Int).Value = e.FileSize
.Add("@User", SqlDbType.Int).Value = Membership.GetUser.ProviderUserKey
End With
cmdSQL.ExecuteNonQuery()
End Using
End Using
End Sub
Acum, când TOATE fișierele sunt încărcate, apoi partea de server chiar UpLoadComplete toate va foc, și APOI puteți lua lista de mai sus/de masă și afișa fișierele încărcate împreună cu numele Fișierului, dimensiunea, și de timp.
Dar, chiar nu ai capacitatea de a afișa informații despre fișier, cum ar fi ce de timp până când ați încărcat fișierul și apoi au timp, nu?
Edit:
Poate că ideea de mai sus nu a fost tot așa de clar. Ceea ce vreau să sugerez este că aveți up-loader de pe pagina.
Deci, spune-ne picătură în acest marcare:
<div style="width:40%;padding:25px">
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" runat="server"
OnClientUploadCompleteAll="MyCompleteAll" ChunkSize="16384" />
<asp:Button ID="cmdDone" runat="server" Text="Done" CssClass="btn" ClientIDMode="Static"/>
<script>
function MyCompleteAll() {
$('#cmdDone').click()
}
</script>
<asp:GridView ID="Gfiles" runat="server" CssClass="table"></asp:GridView>
</div>
Și rețineți cât vom folosi partea de client, toate făcut clic.
Deci, acum avem asa:
Ne-am lovit de încărcare, și acum vom vedea acest lucru:
Acum ar trebui (trebuie să) ascunde butonul Done - avem incarca clic pe butonul done pentru noi.
Deci acel buton, în teorie, ar trebui să devină acest lucru să-l ascundă:
<asp:Button ID="cmdDone" runat="server" Text="Done"
style="display:none" ClientIDMode="Static"/>
Și codul pentru acel buton este aceasta:
Protected Sub cmdDone_Click(sender As Object, e As EventArgs) Handles cmdDone.Click
Dim rstFiles As New DataTable
Using conn As New SqlConnection(My.Settings.TEST4)
Dim strSQL As String = "select FileName, UpLoadTime, Size, User_id from MyUpLoadFiles"
Using cmdSQL As New SqlCommand(strSQL, conn)
conn.Open()
rstFiles.Load(cmdSQL.ExecuteReader)
End Using
End Using
Gfiles.DataSource = rstFiles
Gfiles.DataBind()
' hide up-loader
AjaxFileUpload1.Visible = False
End Sub