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