Jak mohu změnit Soubor Info v Ajax File Upload Control ,Asp.net(VB)?

0

Otázka

Vytvářím přetáhněte soubor nahrát pomocí Ajax File Upload Control v Asp.net(VB). Chci ukázat název souboru, nahrát datum a čas, velikost souboru, když jsem přetáhnout do panelu. Jak mohu udělat pro to nastavení? Mohl bych změnit text pro droparea jako

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

Ale nevím, jak změnit soubor info displej.

Tohle je můj přetáhněte formulář a chci změnit z application/pdf k uploaded datetime

enter image description here

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

Nejlepší odpověď

0

Nemůžete opravdu displeji "čas" up-load, dokud uživatel spustí.

Můžete JIŽ vidět velikost souboru v obrazovce cap, tak proč je potřeba, že?

máte:

enter image description here

takže ve výše, můžete vidět název souboru, vidíte velikost souboru.

Nicméně do doby, než budete hit-načtení a spuštění načítání souborů, ty ještě nevíš, up-load čas jako dosud, že?

Takže, když jste hit up-load soubory, pak každý vybraný soubor bude načten a na straně serveru (zdrojový kód), musíte toto:

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

Nyní, když VŠECHNY soubory jsou načteny, pak na straně serveru i UpLoadComplete všechny vyhodí, a PAK si můžete vzít výše uvedený seznam/tabulku a zobrazit soubory-načtení spolu s Názvem souboru, velikost, a času.

Ale, vy opravdu nemáte možnost zobrazení informací o souboru jako je to, co čas do doby, co jste nahráli soubor a pak mít čas, ne?

Edit:

Možná, že myšlenka výše, bylo vše v pořádku. To, co jsem naznačuje, je, že budete mít up-loader na stránce.

Takže, řekněme, že pokles této značky:

        <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šimněte si, jak budeme používat na straně klienta vše, klepněte na tlačítko hotovo.

Tak, nyní máme tuto:

enter image description here

Jsme hit upload, a nyní vidíme toto:

enter image description here

Teď jsme měli (třeba) skrýt tlačítko Hotovo - máme nahrát kliknutím na tlačítko hotovo pro nás.

Tak, že tlačítko teoreticky by se mělo stát, aby to skrývat:

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

A kód pro tlačítko, 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
2021-11-26 04:01:16

Alberte, Děkuji za vaši odpověď. Pořád nemůžu práce tuto část, protože musím udělat další projekt, ale budu se snažit odpověď co nejdříve to půjde. Vaše odpověď opravdu poukázal na to, pro můj projekt. Thx tě tak moc. Ušetříte mě hodně.
Chang

Dobrý den, snažil jsem se svůj kód a když jsem hit tlačítko nahrávání , data lze vložit do tabulky . Pak jsem udělal vyberte příkaz a nastavit v datatable, ale můj gridview nemůže ukázat úplně a nechtěl skrývat ajaxfileupload pole. Udělal jsem ladění a můj gridview měl data z db tabulky.
Chang

No, jak jsme se-nahrát soubory, které jsou přidány do tabulky. ale když se VŠECHNY soubory (nebo možná jste jen vybrali jeden soubor) jsou up-načten, pak máme "hotovo" tlačítko. Já samozřejmě nechci, aby uživatelé mít, aby klikněte na tlačítko hotovo, všimněte si, jak jsme wired up "sestavit všechny události" na STRANĚ KLIENTA s některými JavaScript klikněte na toto tlačítko pro nás. Myslím, že pro testování, dejte soubor (nebo soubory)-načíst. A pak klikněte na to tlačítko, které spouští kód za nyní se hodnoty z datové základny tabulky a zobrazení v mřížce. Jak již bylo uvedeno, budeme muset přidat user_id ke stolu.
Albert D. Kallal

Tak jsem nechtěl, aby uživatelé muset kliknout na toto tlačítko, když udělal - to je to, co malé množství Javascriptu dělá - udělal jsem předpokládat, že máte jQuery k dispozici na této stránce (ne my všichni????). A jakmile jste verfied, že to funguje, pak budeme skrývat, že tlačítko "hotovo". Ale, pokud nechcete drát, že js kód, klepněte na tlačítko (když už MUSÍ MÍT plné post-back dojít!!! - budete POTŘEBOVAT post zpět. Nemůžete dát display grid kód na straně serveru ajax soubor-načíst akce, MUSÍTE kliknout na tlačítko pro post-back. Tak postupujte podle výše uvedených značek s js kód, klepněte na tlačítko.
Albert D. Kallal

Poznámka: v výše, jak se kód na displeji mřížka je v commadn klepněte na tlačítko hotovo. Takže aby bylo jasno, nemůžeme dát mřížku zobrazení kódu v některém z ajax soubor kontrolních zatížení akcí. Potřebujeme samostatné tlačítko. Pro testování, jen kapka plane jane tlačítko na webové stránce. Po up-load je hotovo, klepněte na tlačítko spustit zobrazení mřížky kód. Jakmile se dostanete, že pracuje, pak přidat výše uvedené js kód pro automatické klikněte na toto tlačítko. A pak přidat styl "display:none", aby se skrýt, že tlačítka od uživatele.
Albert D. Kallal

V jiných jazycích

Tato stránka je v jiných jazycích

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