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

C# Discussion :

Date de modification d'un fichier FTP


Sujet :

C#

  1. #1
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Date de modification d'un fichier FTP
    Bonjour à toutes et à tous, je cherche à faire un updater. Pour cela je fais un executable à placer dans le dossier d'une application puis je compare la date de dernière modification des fichiers en local à la date de dernière modification des fichiers situés sur le FTP. Si celle du FTP est plus récente, je télécharge et remplace le fichier. Le seul problème c'est que je sèche quand il faut récupérer la date de dernière modification du fichier situé sur le FTP. Si vous auriez une idée ... J'ai cherché un peu du côté des ftpWebRequest et WebRequest où j'ai trouvé GetDateTimestamp mais je ne sais pas comment l'utiliser, quand aux méthodes pour les fichiers elles ne s'appliquent pas sur les URI ... Merci de votre aide.

  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
    Salut,

    Voilà comment utiliser la méthode GetDatetimeStamp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://user:pass@host/filepath");
                request.Method = WebRequestMethods.Ftp.GetDateTimestamp;
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                console.WriteLine(response.LastModified);

  3. #3
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup en fait j'avais la réponse sous mes yeux ...

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2009
    Messages : 82
    Points : 63
    Points
    63
    Par défaut
    Bonjour, je suis un vrai newbie en c#, je débute juste et je me demande si ce bout de code me permet de connaître la date de dernière modification d’un dossier sur un ftp pour pouvoir faire une comparaison avec la date du jour ?

    Désolé pour le déterrage de topic

  5. #5
    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
    Citation Envoyé par Flopp Voir le message
    je me demande si ce bout de code me permet de connaître la date de dernière modification d’un dossier sur un ftp pour pouvoir faire une comparaison avec la date du jour ?
    Ca marche pour un fichier, mais pour un répertoire c'est pas certain... GetDateTimeStamp correspond à la commande FTP MDTM (modification time), définie dans la RFC 3659. La RFC n'est pas vraiment explicite à ce sujet... l'exemple laisse supposer que cette commande ne fonctionne pas pour un répertoire, mais je viens de tester cette commande avec FileZilla et ça a l'air de passer. Ca dépend probablement du serveur...

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2009
    Messages : 82
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Ca marche pour un fichier, mais pour un répertoire c'est pas certain... GetDateTimeStamp correspond à la commande FTP MDTM (modification time), définie dans la RFC 3659. La RFC n'est pas vraiment explicite à ce sujet... l'exemple laisse supposer que cette commande ne fonctionne pas pour un répertoire, mais je viens de tester cette commande avec FileZilla et ça a l'air de passer. Ca dépend probablement du serveur...

    Merci pour ta réponse.. je viens d'essayer ca ne marche pas avec le rép sur mon serveur par contre avec un fichier, nickel.

    Je récupere la date de mon fichier sous cette forme 01/01/2009 14:00:21

    je voudrai n'avoir que la date sous la forme j/m/a ou j/m/année mais sans l'heure et surtout comment faire pour comparer a une autre date que j'ai dans une variable string.

    je me heurte a plusieurs messages d'erreurs. merci de votre aide.

  7. #7
    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
    Citation Envoyé par Flopp Voir le message
    Je récupere la date de mon fichier sous cette forme 01/01/2009 14:00:21

    je voudrai n'avoir que la date sous la forme j/m/a ou j/m/année mais sans l'heure
    La propriété LastModified renvoie un DateTime, le format que tu obtiens à l'affichage est simplement le format par défaut. Tu peux formatter comme tu veux avec ToString, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string s = response.LastModified.ToString("dd/MM/yyyy");
    Citation Envoyé par Flopp Voir le message
    et surtout comment faire pour comparer a une autre date que j'ai dans une variable string.
    Convertis ta string en DateTime (avec DateTime.ParseExact ou DateTime.TryParseExact par exemple), et compare avec le LastModified avec les opérateurs de comparaison habituels

    Citation Envoyé par Flopp Voir le message
    je me heurte a plusieurs messages d'erreurs. merci de votre aide.
    Ben si tu nous dis pas quels sont les messages d'erreur et le code qui les génère, on aura du mal à t'aider

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/10/2011, 21h54
  2. Changer la date de modification d'un fichier
    Par sylviev dans le forum Langage
    Réponses: 1
    Dernier message: 07/08/2007, 09h58
  3. [FTP] date dernière modif d'1 fichier distant
    Par renaudjuif dans le forum Langage
    Réponses: 1
    Dernier message: 24/09/2006, 01h24
  4. Réponses: 20
    Dernier message: 17/03/2005, 15h26
  5. [langage] Date de modification d'un fichier
    Par Cyspak dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2003, 15h49

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