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

VB.NET Discussion :

[VB.NET] Déplacer un fichier sur FTP


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 38
    Points
    38
    Par défaut [VB.NET] Déplacer un fichier sur FTP
    Bonjour !

    Voilà je me casse la tête depuis un petit moment sur une classe FTP.
    J'ai bien entendu créé des méthodes Put / Get / rename et compagnie via FtpWebRequest et WebRequestMethods.

    Tout ça fonctionne plutôt pas mal pour ma première source .net ^^

    Mon souci :

    Je voudrais créer une méthode Move pour déplacer un fichier se trouvant dans un répertoire du serveur FTP vers un autre répertoire se trouvant toujours sur le même serveur FTP.

    J'ai fouiné quelque peu sur le net mais il semblerait que "Move" ne soit pas natif en FTP. Pourtant cela doit être possible car avec des logiciels comme FileZilla par exemple on peut le faire par un simple Glisser/déposer.

    Ci-dessous un exemple de mon code pour la fonction Rename.
    Je pense que cette fonction doit pouvoir être utilisée pour déplacer un fichier mais le FTP.RenameTo n'accepte qu'un nom de fichier et pas un chemin :'(

    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
    31
    32
    33
    34
    35
    36
    37
     
        Public Function RenameFile(ByVal CheminFichier As String, ByVal NomfichierOriginal As String, ByVal NomFichierFinal As String) As Boolean
     
            Dim FTP As FtpWebRequest
            Dim Reply As FtpWebResponse
     
            Try
                If Left(CheminFichier, 1) <> "/" And Left(CheminFichier, 1) <> "\" Then CheminFichier = "/" & CheminFichier
                CheminFichier = Replace(CheminFichier, "\", "/")
                If Right(CheminFichier, 1) <> "/" And Left(CheminFichier, 1) <> "\" Then CheminFichier = CheminFichier & "/"
                FTP = DirectCast(FtpWebRequest.Create(p_HostIP & CheminFichier & NomfichierOriginal), FtpWebRequest)
     
                'info de connexion
                FTP.Credentials = New NetworkCredential(p_UserID, p_UserPWD)
                'Ferme la connexion apres le transfert
                FTP.KeepAlive = False
                'On veut un transfer binaire et pas textuel
                FTP.UseBinary = True
                'On défini la method. ici Downloadfile
                FTP.Method = WebRequestMethods.Ftp.Rename
                'On renomme
                FTP.RenameTo = NomFichierFinal
                'on récupère la reponse du serveur
                Reply = DirectCast(FTP.GetResponse(), FtpWebResponse)
                Reply.Close()
                Reply = Nothing
                FTP = Nothing
                Return True
            Catch
                If Not Reply Is Nothing Then Reply = Nothing
                If Not FTP Is Nothing Then FTP = Nothing
                p_LastErrorOccured = "Méthode RenameFile() a échoué. La raison invoqué est la suivante : " & vbCrLf & _
                         Err.Number & ": " & Err.Description
                Return False
            End Try
     
        End Function

  2. #2
    Membre du Club Avatar de Legarsdelouest
    Homme Profil pro
    Work Package Manager
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Work Package Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 64
    Points
    64
    Par défaut
    Si tu veux créer une fonction Move, je te conseille de créer un sub.

    Il me semble que la commande Move n'est pas possible pour tous les serveurs FTP. Dans ce cas, tu fais une copie du fichier dans le dossier de destination et tu supprimes le fichier dans le dossier de départ. Sa peux te faire une fonction move
    C'est parce que l'on a visé les étoiles qu'on est allé sur la Lune !

Discussions similaires

  1. déplacer un fichier sur un même serveur FTP
    Par yoann34 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 13/02/2013, 11h00
  2. [.NET 2.0] Probleme upload fichier sur ftp avec My
    Par Aspic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/03/2007, 09h10
  3. [VB.NET] Sauvegarde de fichier sur clé USB
    Par cyrcroix dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/06/2005, 10h02
  4. [C#] [FTP] Envoi et suppression fichier sur ftp NON ANONYME!
    Par djsbens dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/03/2005, 10h20
  5. [VB.NET] Download de fichiers sur un serveur...
    Par Webman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 19/05/2004, 10h25

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