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 :

Upload d'une série d'image


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 Upload d'une série d'image
    Bonjour

    Je voudrais mettre en place un compoasnt pour uploader des iamge dans un profil utilisateur (je suis sur un projet de site de rencontre). J'ai programmé un truc qui me permet de charger une photo et j'utilise l'identifiant de l'utilisateur pour le nomamge de la photo. J'y ajoute un chifre entre 1 et 5 pour faire la différence. Puis je fabrique un vignette en ajoutant un t dans le nom du fichier image.

    Tout marche bien pour la première photo, mais je n'arrive pas à gérer les suivantes. En gros, je voudrais qu'il détecte les photos déjà existantes et qu'il passe au chiffre suivant si c'est déjà pris.

    J'ai mis un FileUpload avec des validators pour gérer différentes choses sur le nom du fichier ou sur sa taille.
    Voici mon code actuel de mon bouton de chargement :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    Protected Sub btnFileUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFileUpload.Click
    'Test de taille et d'extension
            If fileUp.HasFile Then
                If fileUp.PostedFile.ContentType = "image/pjpeg" Then
                    If fileUp.PostedFile.ContentLength < 150000 Then
                        Try
                            With fileUp
                                .SaveAs(NomCheminPhoto)
                            End With
                            lblErrFileUpload.Text = "Photo arrivée dans votre profil"
     
                        Catch ex As Exception
                            lblErrFileUpload.Text = "ERREUR: " & ex.Message.ToString()
                        End Try
                    Else
                        lblErrFileUpload.Text = "Fichier trop lourd"
                    End If
                Else
                    lblErrFileUpload.Text = "Seules les fichiers JPG sont autorisées"
                End If
            Else
                lblErrFileUpload.Text = "Vous devez indiquer un fichier"
            End If
     
    'Chargement lui même
            Dim fullSizeImg As System.Drawing.Image = System.Drawing.Image.FromFile(NomCheminPhoto)
            Dim dCallBack As New System.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
            fullSizeImg.GetThumbnailImage(100, 75, dCallBack, IntPtr.Zero).Save(Replace(NomCheminPhoto, "ph1.jpg", "ph1t.jpg"))
            AffichePhoto()
            fullSizeImg.Dispose()
     
        End Sub
    C'est dans la deuxième partie de code que je narrive pas à mettre en place une boucle pour gérer le chose.
    Pour l'affichage je lui fait tester l'exitence du fichier et je remplace par un image par défaut lorsque la photo n'existe pas.

    Merci pour votre aide.

  2. #2
    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
    Je comprends pas bien ton problème... Pourquoi tu fais pas simplement une boucle de 1 à 5 en testant à chaque fois si le fichier existe déjà ?

  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
    Ben c'est un peu l'idée que j'avais, mais je n'arrive pas à la mettre en oeuvre, j'ai un souci de conception.

    Ce qui me gêne surtout c'est le fait de tester le premier puis tester les autres.
    Et ensuite, j'ai du mal pour sortir de la boucle dés qu'il trouve une photo manquante. Petit détail supplémentaire : je permets à l'utilisateur de mettre une photo 1,2,4,5 et pas la 3. Du coup, s'il veut en remettre une de plus ça sera obligatoirement la 3.

    Est ce plus clair ?

  4. #4
    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
    C'est un truc comme ça que tu veux faire ?

    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
     
    Dim nomFichier As String = Nothing
    For i As Integer = 1 To 5
        Dim f As String = String.Format("{0}{1}.jpg", nomDeBase, i)
        If Not File.Exists(f) Then
            nomFichier = f
            Exit For
        End If
    Next
     
    If nomFichier Is Nothing Then
        ' Il y a déjà 5 photos, plus d'emplacement disponible
    Else
        ' Enregistrer la photo
    End If

  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
    Ouais, merci, c'est à peu prés ce qu'il me fallait.
    En fait, ce qu'il me manquait c'est le Exit For, je connaissais pas, enfin, je m'en rappellais plus.

    J'ai bricolé la boucle autrement pour les besoins de mon composant, mais l'idée centrale est bien là.

    Merci Tomlev.

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

Discussions similaires

  1. Transformer une série d'images en vidéo
    Par Matthieu Brucher dans le forum Imagerie
    Réponses: 12
    Dernier message: 29/03/2007, 14h59
  2. Réponses: 1
    Dernier message: 05/03/2007, 19h55
  3. [HTML] Center une série d'images verticalement et horizontalement
    Par in_flames68 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 27/09/2006, 09h42
  4. Réponses: 7
    Dernier message: 03/12/2004, 10h15
  5. Compression d'une série d'images jpeg
    Par Tchello dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2003, 19h59

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