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 :

The process cannot access the file.


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut The process cannot access the file.
    Bonjour,

    Je suis un débutant dans ce langage.
    Mon erreur est assez simple à comprendre mais je n'arrive pas à la résoudre.
    On me dit que le fichier est déjà utilisé par un processus.
    Le but de cette fonction est de supprimer l'image et de la recréer en fonction de ce que l'on a envoyé en paramètres.


    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
     
    Private Sub SaveFile(ByVal Source As Bitmap, ByVal DestinationSize As Size, ByVal Path As String)
                Dim CodecInfos As ImageCodecInfo() = ImageCodecInfo.GetImageEncoders()
     
                Dim EncoderParameter As New Imaging.EncoderParameter(Encoder.Quality, _JpgQuality)
                Dim EncoderParameters As New Imaging.EncoderParameters
                EncoderParameters.Param(0) = EncoderParameter
     
                Dim MyImageCodecInfo As ImageCodecInfo = Nothing
                For Each codec As ImageCodecInfo In ImageCodecInfo.GetImageEncoders()
                    If codec.MimeType = "image/jpeg" Then
                        MyImageCodecInfo = codec
                        Exit For
                    End If
                Next
     
                Dim Folder As String = Path.Substring(0, Path.LastIndexOf("\"))
                If Not IO.Directory.Exists(Folder) Then
                    IO.Directory.CreateDirectory(Folder)
                End If
     
                If System.IO.File.Exists(Path) Then
                    System.IO.File.Delete(Path)
                End If
     
                Using FileStream As New IO.FileStream(Path, IO.FileMode.Create)
                    Source.Save(FileStream, MyImageCodecInfo, EncoderParameters)
                End Using
                Source.Dispose()
            End Sub
    L'erreur se situe lorsque je veux supprimer l'image, (quand l'image n'existe pas ça marche, une fois qu'elle est crée ça ne marche plus).

    Je suis vraiment perdu, si quelqu'un a une idée, ou que ça lui est déjà arrivé, je suis preneur :/

    Si vous avez des questions je reste à votre disposition.

    GoT

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    C'est sans doute parce que tu as une image affichée dans ton programme qui est liée à ce fichier (par exemple un PictureBox avec la propriété ImageLocation définie sur ce fichier). Dans ce cas il faut "décharger" l'image (mets ImageLocation à Nothing)

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonsoir,

    Malheureusement ce n'est pas le cas, je n'ai mis aucun contrôle serveur sur ma page (juste quelques balises <img/> dûment remplis "a la mano").

    Ce qui est étrange, c'est que même lorsque le serveur a terminé sa tâche et envoyé le rendu côté client. Le fichier reste inaccessible en écriture et suppression, j'entends pas là que même sur le serveur si je tente de supprimer le fichier en appuyant sur la touche "Suppr" l'image ne peut être effacée.

    Si j'arrête le pool d'application (le processus lié au site web), l'image est de nouveau supprimable. C'est donc le processus qui ne débloque jamais le fichier.

    Pour info la fonction ci-dessus sert à générer de nombreux formats d'image, elle est donc appelée pour chacun de ces formats. Je ne sais pas si cela plante au premier ou au second appel de la fonction car je ne peux pas déboguer.

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    ben dans ce cas tu dois avoir une instance d'image créée à partir de ce fichier, que tu n'as pas supprimé avant l'appel à cette fonction

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour,


    C'était bien le cas il y avait une instance d'image, c'était dû à l'utilisation d'un CMS et l'ordre d'exécution des éléments de classe.

    Merci encore de ton aide, cela m'a grandement aidé à trouver la réponse.

    GoT

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/03/2014, 13h09
  2. Réponses: 5
    Dernier message: 23/04/2013, 01h41
  3. Réponses: 1
    Dernier message: 18/02/2010, 17h39
  4. [Web Services] The system cannot find the path specified spring
    Par ouedmouss dans le forum Spring
    Réponses: 0
    Dernier message: 20/09/2008, 20h07
  5. The process cannot access the file 'xyz' ..
    Par dsolheid dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 21/04/2008, 11h45

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