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 :

Bitmap et problème avec file move


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Bitmap et problème avec file move
    Bonjour à tous ...

    Contexte : ASP.NET , C#, SQL Serveur

    Je developpe , entre autre, des pages pour permettre à des utilisateurs de constituer un album photo en ligne ...rien de bien nouveau....

    Je me suis fais une fonction qui me renvois la largeur d'une photo , à savoir :


    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
          /// <summary>
            /// Renvois  hauteur de l'image
            /// </summary>
            /// <param name="Chemin"></param>
            /// <returns></returns>
            public int RenvoisHauteur(string Chemin)
            {
                Bitmap Img;
                int Hauteur;
                Img = new Bitmap(@Chemin);
     
                {   
                    Hauteur = int.Parse(Img.Height.ToString());
                    Img = null;
                    return Hauteur;
                }
     
            }

    je précise que Chemin est le chemin physique de mon fichier, mais mon problème n'est pas là.

    Ca marche ...Le but est de vérifier un fichier qui vient d'être uploadé dans un répertoire temporaire pour après le ranger bien soigneusement dans un répertoire définitif ou le supprimer si la largeur dépasse une certaine valeur.

    J'utilise donc cette fonction juste avant de faire (si ma taille est bonne):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File.Move(AncienEmplacement, NouveauEmplacement);
    File.Delete(AncienNom);
    mais cela me plante en me disant :

    Le processus ne peut pas accéder au fichier, car il est utilisé par un autre processus.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.IO.IOException: Le processus ne peut pas accéder au fichier, car il est utilisé par un autre processus


    Je ne comprend pas pourquoi et surtout je ne trouve pas comment y remédier.
    Quand je n'utilise pas ma fonction cela marche ...c'est donc elle qui laisse mon fichier ouvert (?) et empêche le déplacement ...

    Comment faire ...Merci d'avance pour vos indications éclairées ...


    P.JEAN

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Par défaut
    bitmap est bien une classe a toi ? tu peux mettre son code aussi plz

  3. #3
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Non, non, ...
    Bitmap est un objet du namespace System.Drawings

    merci de te pencher sur mon problème....


    P.JEAN

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Par défaut
    dans la doc msdn : à propos du constructeur

    Utilisez ce constructeur pour ouvrir des images aux formats de fichier suivants : BMP, GIF, EXIG, JPG, PNG et TIFF. Pour plus d'informations sur les formats pris en charge, consultez la page Types de bitmaps. Le fichier reste verrouillé tant que Bitmap n'a pas été supprimé.

  5. #5
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Yes
    je suis justement dedans ...

    Il me semble qu'un Img.Dispose() devrait resoudre le truc ...je teste ...

    Merci ..je te passe la solution qd j'ai résolu le problème



    P.JEAN

  6. #6
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Ca suffit pas ...
    Dispose ne suffit pas ....

    Dans la doc MSDN ils disent : Le fichier reste verrouillé tant que Bitmap n'a pas été supprimé. Mais comment supprimer le BitMap

    P.JEAN

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Par défaut
    http://www.developpez.net/forums/d21...edemment-cree/

    Le gars explique comment forcer la destruction de l'objet, en forçant le GC.

  8. #8
    Membre éclairé Avatar de PatStan17
    Homme Profil pro
    Chef de projet / Développeur
    Inscrit en
    Décembre 2008
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2008
    Messages : 307
    Par défaut Ca marche ....
    En forçant le CG ca marche ....

    Merci Rours ...


    P.JEAN

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

Discussions similaires

  1. Probléme avec FILE
    Par lisco dans le forum C++
    Réponses: 1
    Dernier message: 23/12/2009, 17h11
  2. problème avec files dans assembly
    Par felix79 dans le forum Maven
    Réponses: 4
    Dernier message: 15/09/2009, 11h39
  3. Problème avec File.Exists
    Par kazylax dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/06/2009, 15h40
  4. [VS2008 Express] Problème avec File.SetLastWriteTime
    Par bubulemaster dans le forum Débuter
    Réponses: 3
    Dernier message: 06/07/2008, 12h56
  5. problème avec File::Tee
    Par olwin dans le forum Modules
    Réponses: 6
    Dernier message: 08/05/2008, 20h22

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