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 :

Libération d'un fichier aprés Upload


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 Libération d'un fichier aprés Upload
    Salut

    J'ai mis en place un FileUpload pour charger des photos pour les membres de mon site.
    Je m'aperçois, en dévelopant le module de désinscription, que les fichiers ne sont pas libérer aprés traitement mais je n'arrive pas àtrouver de fonction ou de paramettre pour lui indiquer qu'une fois qu'il à fini de transférer sur le serveur il doit laisser le fichier tranquille.

    Vous remarquerez dans le code que je fait un truc pour faire une petite thumb de la photo chargée et je crois que c'est ce traitement là qui bloque le fichier.

    Dans le bloc de code suivant je fais la suppression des photos dans mo module de désinscription et c'est lui qiu me dit que le fichier est utilisé

    Donc, j'ai fini par comprendre que le fichier restait coincé le temps du TimeOut de session, soit 20 minutes par défaut.
    Pouvez vous m'aider pour faire en sorte que le fichier soit libéré plus vite.

    Chargement des photos

    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
     
        Protected Sub btnFileUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFileUpload.Click
            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
     
            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()
        End Sub
    Suppression des photos

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            For i As Int16 = 1 To 5
                Dim NomCheminPhoto As String = Server.MapPath("/App_Themes/" & GetParamSite("Nomsite") & "/PhotoMembre/" & GetUserGUID().ToString & "ph" & i & ".jpg")
                If File.Exists(NomCheminPhoto) Then
                    File.Delete(NomCheminPhoto)
                    File.Delete(Replace(NomCheminPhoto, "ph" & i & ".jpg", "ph" & i & "t.jpg"))
                End If
            Next

  2. #2
    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
    fullSizeImg.Dispose() je dirais

  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
    Merci pour ton aide.

    Donc je mets ça juste aprés le AffichePhoto()

    J'ai toujours du mal avec le Dispose, je comprend pas bien comment ça marche. A chaque fois que j'ai voulu l'utilisé j'ai pris un paquet de truc dans la tronche et j'avoue que je ne comprends pas trés bien ce concept, malgré pas mal de lecture sur le sujet.

    Bon, j'essaie aprés manger et je te dit.

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Si je ne raconte pas de conneries (ce qui est somme toute très possible), la méthode Dispose ne fait qu'avertir le Garbage Collector que l'objet en question peut être libéré.
    Il ne s'agit donc pas d'une libération immédiate de l'objet mais d'une info transmise au GC.

    Me trompe-je ?

  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
    hey Salut Calagan99, longtemps que je ne t'avais vu trainer sur mes topics.
    Ton nouveau job, c'est comment ?

    Sinon, info ou pas, ça marche bien.

    Parce que, en plus, je me suis aperçu que c'est même pas la session qui libère, c'est l'extinction de la machine. Là, soit 4 heures aprés, le fichier était toujours pris par un processus. Même à la main je ne pouvais pas le supprimer.

    Et là, en rajoutant le Dispose(), ben cool, le fichier est libéré, il se laisse supprimer en douceur, un peu comme une jolie blonde se laisse embarquer dans la BMW qui fait beaucoup de bruit..........................


    Merci les gars.

    Kenavo

    PS : Vincent, la suite par mail privé

  6. #6
    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
    Et ???

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

Discussions similaires

  1. Problème fichier après upload
    Par Madfrix dans le forum Langage
    Réponses: 3
    Dernier message: 11/02/2011, 11h57
  2. Supprimer un fichier après upload
    Par campanophile dans le forum Langage
    Réponses: 6
    Dernier message: 18/03/2010, 08h53
  3. Problème de lecture d'un fichier après upload
    Par sissi25 dans le forum Langage
    Réponses: 1
    Dernier message: 10/02/2009, 11h51
  4. Réponses: 5
    Dernier message: 21/06/2008, 18h41
  5. [Upload] Mauvais nom de fichier apres upload
    Par chambiges dans le forum Langage
    Réponses: 2
    Dernier message: 29/07/2007, 21h28

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