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
Suppression 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
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
Partager