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 :

Find Files in C#


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Par défaut Find Files in C#
    Bonjour tout le monde
    Je début en Asp.net
    J’ai sur ma base de données un champ nommé constructeur, ce dernier le concaténer pour afficher une image.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img border="0" src="objets/images/<%# DataBinder.Eval(Container.DataItem, "constructeur") %>.jpg" />
    Je voulais afficher faire des testes d'existence de ce fichier avant de l'afficher, si il n'existe pas afficher une image par défaut.
    Ma plateforme est Visual studio 2008 /asp.net C#
    Merci d'avance.

  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 : 43
    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
    Par défaut
    Il suffit de faire une fonction qui va vérifier l'existence du fichier et renvoyer un fichier par défaut s'il n'existe pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public string CheckImageFile(string filename)
    {
        string absolutePath = MapPath("objets/images/" + filename);
        if (File.Exists(absolutePath)
        {
            return filename;
        }
        else
        {
            return "default.png";
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img border="0" src="objets/images/<%# CheckImageFile(DataBinder.Eval(Container.DataItem, "constructeur")) %>.jpg" />

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Message d'erreur du compilateur: CS0103: Le nom 'File' n'existe pas dans le contexte actuel
     
    Erreur source:
     
     
     
    Ligne 51 :     string absolutePath = MapPath("objets/images/" + filename);
    Ligne 52 :         
    Ligne 53 :     if (File.Exists(absolutePath))
    Ligne 54 :     {
    Ligne 55 :         return filename;

  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 : 43
    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
    Par défaut
    Il doit manquer une directive using :
    Pour ce genre d'erreur, y a un truc "magique" dans Visual Studio : si tu places le curseur sur le mot "File", tu devrais voir apparaître un petit truc rouge quand tu cliques dessus il te propose la correction !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Message d'erreur du compilateur: CS1502: La méthode surchargée correspondant le mieux à 'Detail.CheckImageFile(string)' possède des arguments non valides
     
    Erreur source:
     
     
     
    Ligne 27 : 	
    Ligne 28 : 
    Ligne 29 : <img border="0" src="objets/images/<%# CheckImageFile(DataBinder.Eval(Container.DataItem, "constructeur")) %>.jpg" />
    Ligne 30 :  
    Ligne 31 :

  6. #6
    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 : 43
    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
    Par défaut
    Dis donc, je peux t'aider, mais il faudrait quand même chercher un peu par toi-même... il y a une doc très bien foutue fournie avec Visual Studio, utilise la !

    L'erreur est liée au fait que DataBinder.Eval renvoie un Object et non un String, et la fonction CheckImageFile prend en paramètre un String. Il suffit de convertir en String le résultat de DataBinder.Eval, par un cast, ou en appelant ToString.

    Pendant que j'y suis, j'anticipe la prochaine erreur... il faut inclure l'extension ".jpg" dans le nom de fichier à vérifier, sinon ça ne marchera pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img border="0" src="objets/images/<%# CheckImageFile(DataBinder.Eval(Container.DataItem, "constructeur").ToString() + ".jpg") %>" />

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    j'avoue juste mettre le message d'erreur sans rien de plus c'est un peu simple.

    Le développement est avant tous de la recherche.

    Evidement ca ne veut pas dire qu'il ne faut pas demander bien au contraire mais faut pas abuser de la gentillesse.

    Merci a TomLev d'avoir eu la gentillesse de répondre.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Par défaut

    ca marche, merci bcp


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

Discussions similaires

  1. Exemple "find files"
    Par morinxav1 dans le forum Débuter
    Réponses: 0
    Dernier message: 15/09/2011, 13h48
  2. ERROR 1017 (HY000): Can't find file: '.frm' (errno: 13)
    Par VLE2011 dans le forum Requêtes
    Réponses: 4
    Dernier message: 09/06/2011, 16h29
  3. Réponses: 1
    Dernier message: 20/03/2011, 22h42
  4. Message d'erreur: Cannot find file ID 2
    Par glanumf dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/05/2007, 16h08
  5. Réponses: 1
    Dernier message: 12/07/2006, 11h26

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