Você não pode realmente mostrar o "tempo" de carga até que o usuário inicia.
Você JÁ pode ver o tamanho do arquivo em seu tampa da tela, então por que a necessidade de que?
você tem:
assim, em cima, você verá o nome do arquivo, você verá o tamanho do arquivo.
No entanto, até o momento em que você bater-se-carga e start up de carregamento de arquivos, você não sabe o up-load tempo ainda, não é?
Assim, quando você bater-se-carregar arquivos, cada arquivo selecionado será carregado, e no lado do servidor (code-behind), você tem isso:
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
Agora, quando TODOS os arquivos são carregados, então o lado do servidor, mesmo UpLoadComplete todas fogo e, em SEGUIDA, você pode pegar a lista acima/tabela e exibir os arquivos de backup-carregado junto com o nome do arquivo, o tamanho e o tempo.
Mas, você realmente não tem a capacidade para exibir as informações do arquivo, tais como o tempo até a hora em que você enviou o arquivo e, em seguida, ter o tempo, certo?
Editar:
Talvez a idéia acima de tudo o que não foi clara. O que estou sugerindo é que você tem o carregador na página.
Assim, dizer que cair nessa marcação:
<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>
E observe como usamos o lado do cliente de tudo feito, clique em.
Então, agora nós temos isso:
Podemos carregar, e agora vemos essa:
Agora devemos precisa ocultar o botão Done - temos o upload clicando no botão concluído para nós.
Assim que o botão, em teoria, deve ser esta para escondê-lo:
<asp:Button ID="cmdDone" runat="server" Text="Done"
style="display:none" ClientIDMode="Static"/>
E o código para que botão é esse:
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