Vous ne pouvez pas afficher le "temps" de la charge jusqu'à ce que l'utilisateur commence.
Vous pouvez DÉJÀ voir la taille du fichier de capture d'écran, donc pourquoi le besoin de qui?
vous avez:
donc, ci-dessus, vous voyez le nom de fichier, vous voyez la taille du fichier.
Cependant, jusqu'à ce que vous frappez-la charge de démarrage et de chargement des fichiers, vous ne connaissez pas encore le temps de chargement de la encore, avez-vous?
Donc, quand vous frappez-charger des fichiers, chaque fichier sélectionné sera chargé, et dans le côté serveur (code de), vous avez ceci:
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
Maintenant, lorsque TOUS les fichiers sont téléchargés, puis le côté serveur, même UpLoadComplete tous se déclenche, et vous pouvez prendre la liste ci-dessus/tableau et afficher les fichiers téléchargés avec le nom de fichier, la taille et le temps.
Mais, vous n'avez pas vraiment avoir la capacité de afficher les informations de fichier telles que l'heure, jusqu'à ce que vous avez téléchargé le fichier et puis le temps, non?
Edit:
Peut-être l'idée ci-dessus n'était pas très clair. Ce que je suggère, c'est que vous avez le haut du chargeur sur la page.
Donc, dire que nous tombons dans cette balise:
<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>
Et notez la façon dont nous utilisons le côté client tous terminé, cliquez sur.
Donc, nous avons maintenant à ceci:
Nous avons touché télécharger, et maintenant nous voyons ceci:
Maintenant nous doit (doivent) masquer le bouton Done (terminé) - nous avons le télécharger en cliquant sur ce bouton terminé pour nous.
De sorte que le bouton en théorie, doit devenir ce le cacher:
<asp:Button ID="cmdDone" runat="server" Text="Done"
style="display:none" ClientIDMode="Static"/>
Et le code pour le bouton est ceci:
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