我正在使用 Asp.net(VB) 中的 Ajax 檔案上傳控制元件創建拖動檔案上傳。我想在拖入面板時顯示檔案名、上傳日期時間、檔案大小。我該怎么辦?我可以更改 droparea 的文本,例如
$(document).ready(function () {
Sys.Extended.UI.Resources.AjaxFileUpload_Pending = "保留中";
Sys.Extended.UI.Resources.AjaxFileUpload_Remove = "削除";
Sys.Extended.UI.Resources.AjaxFileUpload_Uploaded = "アップロード済";
Sys.Extended.UI.Resources.AjaxFileUpload_Uploading = "アップロード中";
Sys.Extended.UI.Resources.AjaxFileUpload_UploadedPercentage = "アップロード中 {0} %";
Sys.Extended.UI.Resources.AjaxFileUpload_Upload = "アップロード";
document.getElementsByClassName
$(".ajax__fileupload_dropzone").text("ここにファイルをドロップ");
document.getElementsByClassName
$(".ajax__fileupload_uploadbutton").text("アップロード");
});
但我不知道如何更改檔案資訊顯示。
這是我的拖動形式,我想從 更改application/pdf為uploaded datetime

uj5u.com熱心網友回復:
在用戶啟動之前,您無法真正顯示上傳的“時間”。
您已經可以在螢屏截圖中看到檔案大小,那為什么需要這樣做呢?
你有:

所以在上面,你會看到檔案名,你會看到檔案大小。
但是,在您點擊上傳并開始上傳檔案之前,您還不知道上傳時間,是嗎?
因此,當您點擊上傳檔案時,所選的每個檔案都將被上傳,并且在服務器端(代碼隱藏),您有:
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 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
現在,當上傳所有檔案時,服務器端甚至 UpLoadComplete all 都會觸發,然后您可以使用上面的串列/表格并顯示上傳的檔案以及檔案名、大小和時間。
但是,您真的沒有能力顯示檔案資訊,例如什么時候上傳檔案然后有時間,對嗎?
編輯:
也許上面的想法并不是那么清楚。我的建議是你在頁面上有上傳器。
所以,假設我們加入了這個標記:
<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>
并注意我們如何使用客戶端全部完成點擊。
所以,我們現在有這個:

我們點擊上傳,現在我們看到了:

現在我們應該(需要)隱藏“完成”按鈕——我們讓上傳點擊完成按鈕。
所以理論上那個按鈕應該變成這個來隱藏它:
<asp:Button ID="cmdDone" runat="server" Text="Done"
style="display:none" ClientIDMode="Static"/>
該按鈕的代碼是這樣的:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/366418.html
