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 :

Mettre un upload dans un step de createUserWizard


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Mettre un upload dans un step de createUserWizard
    Bonjour tout le monde.

    Je rame un peu sur un truc un peu scabreux. J'ai mis un CreateUserWizard avec un WizardStep. En gros, j'ai fait comme ça :
    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
     
    <asp:CreateUserWizard ID="cuwRegister" runat="server">
                    <WizardSteps>
                    <asp:WizardStep ID="StepPerso" runat="server">
                        <asp:Table ID="tblCTCUW" runat="server">
                            <asp:TableRow>
                                <asp:TableCell>
                                    <asp:Label ID="lblDescription" runat="server"></asp:Label>
                                    <asp:TextBox ID="txtDescription" runat="server" MaxLength="10"></asp:TextBox>
                                </asp:TableCell>
                            </asp:TableRow>
                            <asp:TableRow>
                                <asp:TableCell>
                                    <asp:Label ID="lblAvatar" runat="server"></asp:Label>
                                    <asp:FileUpload ID="flAvatar" runat="server" />
     
                                </asp:TableCell>
                            </asp:TableRow>
                        </asp:Table>
                    </asp:WizardStep>
                    </WizardSteps>
                    </asp:CreateUserWizard>
    Donc j'ai mis un FileUpload pour charger l'avatar du registrant.
    Et j'ai mis le code de gestion du FileUplaod sur le bouton du Step comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim appPath As String = Request.PhysicalApplicationPath
            Dim saveDir As String = "\App_Themes\"
                Dim savePath As String = appPath & saveDir & u.ProviderUserKey.ToString
                flAvatar.SaveAs(appPath & saveDir & u.ProviderUserKey.ToString)
                lblStatutupload.Text = ex.Message
    Sauf que j'ai du mal à voir pourquoi il me charge pas le fichier à l'endroit voulu (ni ailleurs du reste) et du coup, j'ai du mal à m'en dépatouiller.
    Je n'ai aucun message d'erreur, il passe au step final, sans broncher

    Pouvez vous m'aider ?

  2. #2
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    J'ai un peu avancé sur le problème et je découvre que le souci ne vient pas de la présence du CreateUserwizard, mais d'un UpdatePanel.

    Tout d'abords j'ai changé le CodeBehind par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
            Dim u As MembershipUser = Membership.GetUser("zooffy")
            Dim appPath As String = Request.PhysicalApplicationPath
            Dim saveDir As String = "\App_Themes\"
            If flAvatar.HasFile Then
                Dim savePath As String = appPath & saveDir & u.ProviderUserKey.ToString
                flAvatar.SaveAs(appPath & saveDir & u.ProviderUserKey.ToString & ".jpg")
                lblStatutupload.Text = "ok"
            Else
                lblStatutupload.Text = "raté"
            End If
        End Sub
    Lorsque je suis dans la apge en direct, pas de souci, il me charge mon fichier (j'ai un souci sur son nomage, mais je traite cela aprés).
    Dés que je remets le CreateUserWizard dans un UpdatePanel (parce que je veux un effet spécial sur le formulaire d'inscription) il me mets "raté" dans le label prévu à cet effet.

    Alors, là, je sèche !

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    J'ai encore avancé, enfin, changé des choses on va dire.
    J'ai pris le parti de dissocier les deux pour être plus au carré :
    Côté HTML :
    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
     
    <ajax:UpdatePanel ID="upRegister" runat="server" ChildrenAsTriggers="true" UpdateMode="Always">
            <Triggers>
                <ajax:AsyncPostBackTrigger ControlID="lbjoin" EventName="Click" />
            </Triggers>
            <ContentTemplate>
                <div id="divFondRegister" runat="server" style="display:none;" class="FondOpaque">
                <div id="divDevantRegister" class="DivRegisterIn">
                                    <asp:FileUpload ID="flAvatar" runat="server" />
                                    <asp:Button ID="btnUpload" runat="server" Text="Carg" />
                                    <asp:Label ID="lblStatutupload" runat="server"></asp:Label>
                </div>
                </div>
            </ContentTemplate>
        </ajax:UpdatePanel>
    et CodeBehind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
            Dim appPath As String = Request.PhysicalApplicationPath
            Dim saveDir As String = "\App_Themes\"
            If flAvatar.HasFile Then
                Dim savePath As String = appPath & saveDir & "toto.jpg"
                flAvatar.SaveAs(savePath)
                lblStatutupload.Text = "ok"
            Else
                lblStatutupload.Text = "raté"
            End If
        End Sub
    Donc là j'ai un "raté"

    Et si je mets ça à la place du If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Try
                Dim savePath As String = appPath & saveDir & "toto.jpg" 'u.ProviderUserKey.ToString
                flAvatar.SaveAs(savePath)
                lblStatutupload.Text = "ok"
            Catch ex As Exception
                lblStatutupload.Text = "raté"
            End Try
    là il me mets un "ok" ! ! !

    J'y comprend rien. En gros, il dit que c'est pas un fichier (alors que si je ne suis pas dans le UpdatePanel, tout va bien) mais il ne lève aucune exception

    Je suis tout sec.

    Si vous avez une idée, un peu d'eau, une corde......

  4. #4
    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
    Dans l'Ajax Control Toolkit, y a un contrôle permettant de faire de l'upload dans un update panel

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ah ben ouai, j'avais pas vu.
    Je mets ça en place, pour tester.

    Merci

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Bon, ça marche super bien.

    Mais je rame pour trouver de la doc détaillée. Là je bloque pour trouver le moyen de tester le type du fichier et ne l'accepter que s'il est Gif ou JPG.

    J'ai bien trouvé une méthode GetType(), mais impossible de trouver la doc pour savoir ce qu'il y a dedans et la liste de type pour faire une comparaison.

    Si tu as un lien, je suis preneur. Le site officiel des toolkit ne donne rien, et pour l'instant les blog que je trouve ne parlent que d'une mise en place simple, sans test, sans bla bla.

Discussions similaires

  1. Mettre la valeur d'un upload dans une variable
    Par anca2 dans le forum Langage
    Réponses: 6
    Dernier message: 12/02/2010, 10h43
  2. Réponses: 5
    Dernier message: 03/02/2004, 14h20
  3. [Drag & Drop] Mettre une fiche dans un panel
    Par corwin_d_ambre dans le forum Composants VCL
    Réponses: 5
    Dernier message: 12/01/2004, 10h46
  4. Mettre son programme dans Envoyer Vers ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 11
    Dernier message: 29/07/2003, 19h09
  5. Peut on mettre une image dans une BD MySQL ?
    Par maddog2032 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 25/07/2003, 16h18

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