Cum pot schimba Informații Fișier în Ajax File Upload Control ,Asp.net(VB)?

0

Problema

Am creat-o trageți fișierul incarca folosind Ajax File Upload Control în Asp.net(VB). Vreau să arăt nume de fișier, încărcate datetime, dimensiunea fișierului, atunci când m-am târât în panou. Cum pot face pentru acea setare? Am putea modifica textul pentru droparea ca

$(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("アップロード");
            
        });

Dar nu știu cum să modificați fișierul info-display.

Acest lucru este meu drag formă și vreau să se schimbe de la application/pdf pentru a uploaded datetime

enter image description here

ajax asp.net vb.net webforms
2021-11-24 05:46:37
1

Cel mai bun răspuns

0

Nu puteți afișa într-adevăr "timp" de up-load până când utilizatorul începe.

DEJA puteți vedea dimensiunea fișierului în ecran capac, deci de ce e nevoie pentru asta?

trebuie:

enter image description here

deci, în sus, veți vedea numele de fișier, veți vedea dimensiunea fișierului.

Cu toate acestea, până când te-a lovit up-load și începe încărcarea fișierelor, nu știu încă în sus-timpul de încărcare ca de încă, nu?

Deci, atunci când te-a lovit până-încărca fișiere, apoi fiecare fișier selectate vor fi încărcate, și în partea de server (cod spatele), ai asa:

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

Acum, când TOATE fișierele sunt încărcate, apoi partea de server chiar UpLoadComplete toate va foc, și APOI puteți lua lista de mai sus/de masă și afișa fișierele încărcate împreună cu numele Fișierului, dimensiunea, și de timp.

Dar, chiar nu ai capacitatea de a afișa informații despre fișier, cum ar fi ce de timp până când ați încărcat fișierul și apoi au timp, nu?

Edit:

Poate că ideea de mai sus nu a fost tot așa de clar. Ceea ce vreau să sugerez este că aveți up-loader de pe pagina.

Deci, spune-ne picătură în acest marcare:

        <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>

Și rețineți cât vom folosi partea de client, toate făcut clic.

Deci, acum avem asa:

enter image description here

Ne-am lovit de încărcare, și acum vom vedea acest lucru:

enter image description here

Acum ar trebui (trebuie să) ascunde butonul Done - avem incarca clic pe butonul done pentru noi.

Deci acel buton, în teorie, ar trebui să devină acest lucru să-l ascundă:

 <asp:Button ID="cmdDone" runat="server" Text="Done"
   style="display:none" ClientIDMode="Static"/>

Și codul pentru acel buton este aceasta:

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
2021-11-26 04:01:16

Albert, vă Mulțumesc pentru răspunsul dumneavoastră. Eu încă nu pot lucra această parte vere am nevoie sa fac alt proiect, dar voi încerca să vă răspund cât de repede pot. Raspunsul tau chiar a subliniat pentru proiectul meu. Thx atât de mult. Ai salva o mulțime.
Chang

Salut, am incercat cu codul dvs. și atunci când am lovit pe butonul de încărcare , datele se pot introduce în tabel . Apoi am făcut o comandă și a stabilit în datatable dar gridview nu pot arăta cu totul și nu ascunde ajaxfileupload domeniu. Am facut debug și mi gridview a datelor din db masa.
Chang

Ei bine, ca ne-încărca fișiere, acestea sunt adăugate la masă. dar atunci când TOATE fișierele (sau poate doar ai selectat un singur fișier) sunt încărcate, atunci trebuie ca butonul "done". Eu, desigur, nu doriți ca utilizatorii să faceți clic pe acel buton făcut, deci, rețineți cât ne-a pus "compila toate evenimentului" CLIENT SIDE cu un JavaScript pentru a faceți clic pe acest buton pentru noi. Adică, pentru testare, lasă fișierul (sau fișierele) de up-load. Și apoi faceți clic pe un singur buton care se execută codul din spatele acum ia valorile din tabel baza de date și afișarea în grilă. După cum sa menționat, va trebui să adăugați user_id la masa.
Albert D. Kallal

Așa că nu doriți ca utilizatorii să faceți clic pe acest buton atunci când se face - asta e ce cantitate mică de JavaScript nu mi - am închipuit că ai jQuery disponibile pe pagina (nu suntem toți????). Și odată ce ați verfied că aceasta funcționează, atunci ne vom ascunde faptul că butonul "done". Dar, dacă nu a firului de la care cod js pentru a faceți clic pe acest buton (de când TREBUIE SĂ avem un post full-spate apar!!! - ai NEVOIE de acel post înapoi. Nu se poate pune grila cod de afișare în partea de server ajax file-load eveniment - TREBUIE să faceți clic pe un buton pentru post-spate. Deci, urmați de mai sus marcare cu cod js pentru a faceți clic pe butonul.
Albert D. Kallal

Notă în sus, cât de codul de dispay grila este în commadn făcut clic pe butonul. Deci să fie clar, nu putem pune grila afișa codul în oricare dintre ajax fișier de încărcare a controla evenimentele. Avem nevoie de acel buton separat. Pentru testare, doar picătură un avion jane buton de pe pagina de web. După ce ți-up-load este de făcut, apoi faceți clic pe acest buton pentru a fugi de afișare grilă cod. Odată ce ai acel lucru, apoi se adauga cele de mai sus codul de js automată faceți clic pe acest buton. Și apoi adăugați un stil "display:none" pentru a ascunde faptul că butonul de la utilizator.
Albert D. Kallal

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................