Comment puis-je modifier les Infos de Fichier en Ajax Téléchargement du Fichier de Contrôle ,Asp.net(VB)?

0

La question

Je suis entrain de créer un glisser-upload de fichier en Ajax Téléchargement de Fichier de Contrôle dans Asp.net(VB). J'en veux pour preuve le nom de fichier, téléchargé datetime, la taille du fichier, j'ai traîné dans le panneau. Comment puis-je faire pour que la mise en? Je pourrais changer le texte pour droparea comme

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

Mais je ne sais pas comment modifier le fichier info affichage.

C'est mon faites glisser le formulaire et je veux changer de application/pdf pour uploaded datetime

enter image description here

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

La meilleure réponse

0

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:

enter image description here

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:

enter image description here

Nous avons touché télécharger, et maintenant nous voyons ceci:

enter image description here

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

Albert, je vous Remercie pour votre réponse. Je ne peux toujours pas travailler cette partie parce que j'ai besoin de faire un autre projet, mais je vais essayer votre réponse dès que je peux. Votre réponse vraiment souligné pour mon projet. Merci, merci beaucoup. Vous me sauver beaucoup.
Chang

Bonjour, j'ai essayé avec ton code et quand j'appuie sur le bouton de téléchargement , les données peuvent insérer dans le tableau . Puis j'ai fait une commande select et mis dans la datatable mais mon gridview ne peut pas montrer totalement et de ne pas cacher ajaxfileupload champ. Je n'ai debug et mon gridview avait des données de ma table db.
Chang

Eh bien, comme on télécharger des fichiers, ils sont ajoutés à la table. mais quand TOUS les fichiers (ou peut-être que vous venez de sélectionner un fichier) sont chargés, puis nous avons que le bouton "terminé". Bien sûr, je ne veux pas que les utilisateurs d'avoir à cliquer sur ce bouton terminé, notez donc comment nous avons connecté le "compiler tous les cas" CÔTÉ CLIENT avec JavaScript à cliquer sur ce bouton pour nous. Je veux dire, pour les tests, il suffit de laisser le fichier (ou les fichiers) jusqu'-charge. Puis cliquer sur un bouton qui exécute le code derrière maintenant prendre les valeurs à partir de la base de données de la table et de l'affichage dans la grille. Comme indiqué, nous aurons besoin d'ajouter le user_id à la table.
Albert D. Kallal

Donc, je ne veux pas que les utilisateurs doivent cliquer sur ce bouton quand fait - c'est ce que la petite quantité de JavaScript ne - je ne suppose que vous avez jQuery disponible sur cette page (n'avons-nous pas tous????). Et une fois que vous verfied que cela fonctionne, alors nous allons cacher que le bouton "terminé". Mais, si vous n'avez pas de fil qui code js en cliquant sur ce bouton (puisque nous DEVONS AVOIR un poste à plein-retour se produire!!! - vous BESOIN de cette publication. Vous ne pouvez pas mettre l'affichage de la grille de code dans le serveur ajax côté du fichier-charger - vous DEVEZ cliquer sur un bouton pour l'après-back. Alors suivez le balisage ci-dessus avec le code js de cliquer sur le bouton.
Albert D. Kallal

La Note ci-dessus, la façon dont le code pour afficher la grille est dans le commadn fait clic sur le bouton. Donc, pour être clair, nous ne pouvons pas mettre l'affichage de la grille code de l'ajax, du fichier de contrôle de charge des événements. Nous avons besoin d'un bouton séparé. Pour les tests, il suffit de déposer un plan de jane bouton sur la page web. Après votre up-load est fait, puis cliquez sur ce bouton pour exécuter la grille d'affichage de code. Une fois que vous obtenir que le travail, puis ajoutez le au-dessus de code js automatique cliquez sur ce bouton. Puis ajouter un à un style "display:none" pour masquer le bouton de l'utilisateur.
Albert D. Kallal

Dans d'autres langues

Cette page est dans d'autres langues

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