Nemôžete naozaj zobrazenie "čas" hore-load, kým používateľ spustí.
Môžete UŽ vidieť súbor veľkosť obrazovky spp, tak prečo potrebovať?
máte:
takže vo vyššie sa zobrazí názov súboru, môžete vidieť, že veľkosť súboru.
Avšak, až do času, keď hit do-načítanie a spustenie-načítanie súborov, neviete ešte hore-zaťaženie čas, ako doteraz, páči sa vám?
Takže, keď ste hit do-načítať súbory, potom každý súbor budú up-naložené a na strane servera (kód pozadu), máte to:
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
Teraz, keď sa VŠETKY súbory sú vložené, potom na strane servera aj UpLoadComplete všetko bude oheň, a POTOM si môžete zobrať vyššie uvedený zoznam/tabuľka a zobraziť súbory up-naložené spolu s menom Súboru, veľkosť a čas.
Ale, naozaj nemusíte možnosť, ak chcete zobraziť informácie o súbore, ako napríklad čas, až do času, si nahral súbor a potom mať čas, právo?
Úprava:
Možno myšlienka nad nebolo všetko to jasné. To, čo navrhujem, je, že máte hore-loader na stránke.
Takže povedať, že sme kvapka v tomto príklade:
<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>
A všimnite si, ako sme sa použiť na klientskej strane všetci hotoví, kliknite na tlačidlo.
Tak, teraz máme toto:
Sme narazili nahrať, a teraz sme sa zobrazí toto:
Teraz by sme mali (musieť) skryť tlačidlo Hotovo - máme nahrať kliknutím na ktorý vykonáva tlačidlo pre nás.
Tak, že tlačidlo teoreticky by sa malo stať to, aby ho skryť:
<asp:Button ID="cmdDone" runat="server" Text="Done"
style="display:none" ClientIDMode="Static"/>
A kód pre tlačidlo je toto:
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