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 :

Récupérer un à un les noms de fichier contenus dans un sous-répertoire pour les mett


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut Récupérer un à un les noms de fichier contenus dans un sous-répertoire pour les mett
    Bonjour à tous

    Mon souhait :
    Récupérer un à un les noms de fichier contenus dans un sous-répertoire pour les mettre dans une ArrayList.

    Mon problème :
    J'utilise la fonction "Dir" de la manière suivante
    Fic = Dir("~\Images\*.JPG"), ou bien, Fic = Dir("..\Images\*.JPG") et ça ne fonctionne pas.

    Si je mets le chemin complet, ça fonctionne bien en local, mais pas sur mon site qui se trouve chez mon hébergeur, ce qui est normal.

    Comment dois-je procéder pour récupérer les noms de fichier quand mon application tourne dans mon site qui est chez mon hébergeur.

    Merci de bien vouloir me répondre.

    Claude Azoulai

  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 754
    Points
    39 754
    Par défaut
    A priori le fait d'être chez un hébergeur ne devrait rien changer, tant que tu restes dans les répertoires auxquels tu as accès.
    De toutes façons la fonction Dir n'est pas très pratique pour faire ça... il vaudrait mieux utiliser la fonction Directory.GetFiles (cd. doc)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Merci à tomlev

    Je suis débutant en Visual Web Developer 2005 Express Edition.
    Je n'ai rien trouvé dans l'aide en ligne en ce qui concerne la fonction Directory.GetFiles.

    Peut-tu me donner un exemple concret.
    Dans mon site, j'ai un répertoire "Images" dans lequel se trouvent des photos.

    Comment libeller l'instruction, et dois-je déclarer quelque chose ?

    Merci à toi

    Claude Azoulai

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Claude_Azoulai Voir le message
    Merci à tomlev

    Je suis débutant en Visual Web Developer 2005 Express Edition.
    Je n'ai rien trouvé dans l'aide en ligne en ce qui concerne la fonction Directory.GetFiles.
    Mais si, mais si : http://msdn2.microsoft.com/fr-fr/lib...es(VS.80).aspx

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Merci à Bluedeep

    Je te remercie de ton aide, mais ça semble pas fonctionner sous Visual Web Developer.

    Quand j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Chemin = Server.MapPath("") & "\"
    RepImages="Images"
    Fic = Directory.GetFiles(Chemin & RepImages & "\*.jpg")
    Un message me dit que "Directory" n'est pas déclaré.

    Peux-tu me dire comment le déclarer et si c'est juste au dessous de la balise <script language="VB" runat="server">, sinon où ?

    J'ai essayé de déclarer : Public Directory mais ça ne fonctionne pas.

    Dans l'aide en ligne, j'ai trouvé une déclaration ;"Public Shared Function GetFiles(ByVal path As String) As String()", mais il considère que tout ce qui suit fait parti de la fonction d'où message d'erreur.

    Je compte sur ton aide car je suis perdu.

    Claude Azoulai

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Claude_Azoulai Voir le message
    Un message me dit que "Directory" n'est pas déclaré.
    Il te faut le using System.IO (ca doit être Imports en VB.Net je crois).

    Citation Envoyé par Claude_Azoulai Voir le message
    Peux-tu me dire comment le déclarer et si c'est juste au dessous de la balise <script language="VB" runat="server">, sinon où ?
    Pourquoi tu ne mets pas ton code dans le code behind ?
    Ca n'a pas grand interêt de garder ces vieilles habitudes de l'époque ASP "pas net"

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Bonjour Bluedeep

    J'ai trouvé un exemple sur le net où on ne parle pas de [System.IO].
    Comme ça ne fonctionnait pas, je l'ai mis dans le programme.

    Je suppose que Code Behind ça doit être dans le fichier "Nom_du_fichier.aspx.vb", et c'est ce que j'ai fait.

    En tous les cas l'exemple suivant fonctionne (il remplit bien le DataGrid), mais il me reste à extraire les noms de fichier un à un, et là, ..... j'ai pas trouvé.
    J'ai essayé avec Fic = DataGrid1.Items(1).ToString mais ça marche pas
    Voici le code :
    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
    imports System.IO 
     
    Partial Class _Default
        Inherits System.Web.UI.Page
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim Ext As String = "JPG"
            Dim Fic As String
            'On spécifie l'extension que l'on souhaite 
            Dim dir As New DirectoryInfo(Server.MapPath("./Images"))
            'On met un pointeur sur le répertoire voulu
            Me.DataGrid1.DataSource = Dir.GetFiles("*." & Ext)
            Me.DataGrid1.DataBind()
            Fic = DataGrid1.Items(1).ToString
        End Sub
    End Class
    Si c'est possible de lire des items dans une datagrid et si tu as la solution, merci de bien vouloir me dire comment faire.

    Mille mercis pour ton aide.

    Claude Azoulai

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Claude_Azoulai Voir le message
    Si c'est possible de lire des items dans une datagrid et si tu as la solution, merci de bien vouloir me dire comment faire.
    Le plus simple est que tu mettes tes fichiers dans un tableau, et, de là, tu colles ce qui t'intéresse dans le dataGrid.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    string[] fileNames = Dir.GetFiles("*."+Ext);
    (pour la conversion VB, voir avec les VBistes )

    De là, tu fais ce que tu veux avec ton tableau, éventuellement tu le mets comme DataSource de ta Grid.

    Si tu veux en supprimer avant affichage, le plus simple est de mettre ton tableau dans une List, qui sera plus facile à manipuler (retirer des éléments d'un tableau n'est jamais simple : il faut reconstruire le tableau).

    Ensuite, une List constitue aussi une source de données tout à fait valide pour une DataGrid.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/10/2011, 16h08
  2. Réponses: 2
    Dernier message: 29/03/2010, 11h12
  3. Récupérer les noms de fichiers situé dans un dossier
    Par Leelith dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/08/2009, 17h34
  4. Réponses: 2
    Dernier message: 01/04/2009, 13h54
  5. compte de fichiers contenus dans des sous répertoires
    Par Jasmine80 dans le forum Langage
    Réponses: 4
    Dernier message: 27/02/2008, 08h58

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