IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

File Upload et UpdatePanel


Sujet :

ASP.NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Par défaut File Upload et UpdatePanel
    Salut tout le monde,

    Pour les besoin de mon appli, je dois uploadé des logos d'utilisateurs sur le serveur.
    Pour ce faire, j'utilise le control FIleUpload que j'ai placé dans un update panel.
    Sauf que en placant le control dans l'update panel, le champ du fileupload et toujours vide lors d'un postback ... J'ai donc ajouté un trigger sur le bouton qui envoi le fichier.
    Le soucis est que avec le trigger, le premier envoi de fichier ne fonctionne pas, il me dit que le fileupload et vide. A partir du second envoi de fichier, cela fonctionne correctement.

    Pouvez vous me dire quoi changé pour que mon fileupload fonctionne correctement dans mon updatepanel svp

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Ça marche pas la première fois, mais les suivantes oui? Ça sent le problème dans l'ordre d'enchainement des évènements. Peux-tu montrer un peu de code?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ce n'est pas lié à l'UpdatePanel, le champ avec le chemin du fichier est toujours vide après un PostBack, tout simplement parce que le chemin complet du fichier n'est pas transmis au serveur. Seul le nom du fichier est transmis

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Par défaut
    Voila mon morceau de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <asp:UpdatePanel ID="upFileUpload" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:PostBackTrigger ControlID="btnAjouter" />
            <asp:PostBackTrigger ControlID="btnModifier" />
        </Triggers>
        <ContentTemplate>
            <table class="tabSansBordures">
                <tr>
                    <td>
                        <asp:FileUpload ID="FileChooser" runat="server" BorderColor="#528CCC" BorderStyle="Outset" BorderWidth="1px" Width="350" />
                    </td>
                    <td>
                        <atlante:EButton ID="btnAjouter" runat="server" SkinID="btnAjouter" AlternateText="Ajouter" onclick="btn_ValiderFile_Click"/>
                        <atlante:EButton ID="btnModifier" runat="server" SkinID="btnModifier" AlternateText="Modifier" onclick="btn_ValiderFile_Click"/>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <asp:Label ID="lbl_Error" runat="server"></asp:Label>
                    </td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
    Alors j'ai remarqué ce matin une chose de bizarre,
    Quand j'ouvre mon parcourir, desfois (juste la première fois) il ne me rempli pas mon champ du premier coup.

    tomlev, j'ai pu m'apercevoir d'après mes tests que le chemin du fichier est toujours vide après un postBack. Ce qui est normal et ne me dérange absolument pas au contraire.

    Le fichier est remonté au serveur dans son intégralité, je peut récupérer un FileStream.

    Alors je viens juste de faire un test, en enlevant mon FileUpload du tableau, je n'ai plus aucun problème pour réceptionner le fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <asp:UpdatePanel ID="upFileUpload" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:PostBackTrigger ControlID="btnAjouter" />
            <asp:PostBackTrigger ControlID="btnModifier" />
        </Triggers>
        <ContentTemplate>
            <asp:FileUpload ID="FileChooser" runat="server" BorderColor="#528CCC" BorderStyle="Outset" BorderWidth="1px" Width="350" />
            <atlante:EButton ID="btnAjouter" runat="server" SkinID="btnAjouter" AlternateText="Ajouter" onclick="btn_ValiderFile_Click"/>
            <atlante:EButton ID="btnModifier" runat="server" SkinID="btnModifier" AlternateText="Modifier" onclick="btn_ValiderFile_Click"/>
            <asp:Label ID="lbl_Error" runat="server"></asp:Label>
        </ContentTemplate>
    </asp:UpdatePanel>

    je suis curieux de comprendre le pourquoi du comment.

    Merci

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    10 secondes sur google t'auraient permis de voir que le FileUpload n'est pas compatible avec un UpdatePanel...

  6. #6
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    LuteceFalco, je confirme tes dires, même sur le forum on avait déjà la réponse.

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par tortuegenie Voir le message
    LuteceFalco, je confirme tes dires
    C'est bien aimable

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Bonjour,

    En fait on peux adapter le fileupload pour le rendre compatible,moyennant quelques aménagements...(option du form en "multipart") et trigger déclenchant un vrais postback....

    En faisant cela la commande suivante fonctionne :
    FileUpload.HasFile

    Concernant ton problème du clic qui ne marche que la deuxième fois ca devrait régler ton problème de mettre dans ca dans le Page_Load.

    -> this.Page.Form.Enctype = "multipart/form-data"

  9. #9
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Pourquoi mettre un fileupload dans un updatepanel?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Moi par exemple j'ai des pages qui sont complètement en ajax..
    Avec un système d'onglet et du coup le fileupload est dans un update panel qui correspond a un onglet...


    Du coup pas le choix il fallait que je gère le fileupload dans un update panel

  11. #11
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Par défaut
    SAlut désolé du retard pour répondre, en faite j'ai un système d'onglet sur lequel je greffe un update panel par onglet.
    C'est pourquoi je dois adapté le fileupload a l'update panel.

    merci p_mehdi , le enctype corrige mon problème.

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    de rien A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] file Upload: mettre un fichier sur le serveur
    Par eseb777 dans le forum Langage
    Réponses: 4
    Dernier message: 07/03/2007, 10h01
  2. [Upload] file upload preload
    Par taffMan dans le forum Langage
    Réponses: 3
    Dernier message: 17/12/2006, 21h13
  3. [Struts][file upload] Exception Bizarre
    Par pmartin8 dans le forum Struts 1
    Réponses: 1
    Dernier message: 23/05/2006, 17h55
  4. [STRUTS][HTPPS]File upload
    Par jiraiya dans le forum Struts 1
    Réponses: 2
    Dernier message: 18/05/2006, 14h54
  5. [com applet-servlet][file upload] CharConversionException
    Par meufeu dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2004, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo