Realmente no se puede mostrar el "tiempo" de la carga hasta que el usuario inicia.
YA se puede ver el tamaño del archivo en la pantalla de la tapa, así que ¿por qué la necesidad de que?
usted tiene:
así que en el anterior, verá el nombre de archivo, puede ver el tamaño del archivo.
Sin embargo, hasta el momento en que golpeó de carga y arranque-carga de archivos, usted no sabe todavía el tiempo de carga como de sin embargo, no?
Así que, cuando usted golpea cargar archivos, cada archivo seleccionado será cargado, y en el lado del servidor (código), tienes esto:
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
Ahora, cuando TODOS los archivos se cargan, entonces el lado del servidor, incluso UpLoadComplete todo se incendio, y ENTONCES usted puede tomar la lista de arriba/tabla y mostrar los archivos de carga junto con el nombre de archivo, el tamaño y el tiempo.
Pero, usted realmente no tiene la capacidad para mostrar la información del archivo, tales como qué tiempo hasta el momento en que hayas subido el archivo y, a continuación, tienen el tiempo, ¿verdad?
Editar:
Tal vez la idea anterior no fue del todo claro. Lo que estoy sugiriendo es que tienes el loader en la página.
Así, nos dicen que caer en este formato:
<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>
Y nota cómo usamos el lado del cliente todo se hace clic.
Así, ahora tenemos esto:
Llegamos a subir, y ahora vemos esto:
Ahora vamos a la necesidad de ocultar el Hecho de botón - tenemos la carga de hacer clic sobre el botón hecho para nosotros.
De modo que el botón en teoría debería ser este ocultarlo:
<asp:Button ID="cmdDone" runat="server" Text="Done"
style="display:none" ClientIDMode="Static"/>
Y el código para el botón es este:
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