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 :

Transferer un fichier par FTP


Sujet :

VB.NET

  1. #1
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut Transferer un fichier par FTP
    Je ne comprends pas, j'essaie de charger un fichier sur mon serveur OVH.
    Ca n'a pourtant pas l'air sorcier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    My.Computer.Network.UploadFile(fichier, "ftp://mon_adresse/test.txt", "username", "password")
    "fichier" contient le chemin de mon fichier. Il existe et pourtant j'ai tout le temps une WebException avec une violation de protocole comme message.

    Qu'est-ce que je rate ?

    PS : le fichier contient juste un "hello world".
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  2. #2
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 124
    Points : 150
    Points
    150
    Par défaut
    Hello, J'utilise ca pour faire un upload FTP:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    Private Sub uploadFichier(ByVal cheminSource As String, ByVal urlDestination As String, _
                                  ByVal identifiant As String, ByVal motDePasse As String)
            ' cheminSource : Uri du fichier sur le disque dur
            ' urlDestination : Uri du fichier de destination sur le serveur FTP
            ' identifiant : login du compte FTP utilisé
            ' motDePasse : mot de passe du compte FTP utilisé
            ' Création des 2 flux et du reader nécessaire pour l'envoi du fichier
     
            Dim monRequestStream As Stream = Nothing
            Dim fileStream As FileStream = Nothing
            Dim uploadResponse As FtpWebResponse = Nothing
            Try
                ' Requête d'upload d'un fichier vers le serveur
                Dim uploadRequest As FtpWebRequest = CType(WebRequest.Create(urlDestination), FtpWebRequest)
                Dim monCompte As New NetworkCredential(identifiant, motDePasse)
                With uploadRequest
                    .Credentials = monCompte
                    .Method = WebRequestMethods.Ftp.UploadFile
                    .EnableSsl = UseSSL
                    .KeepAlive = False
                    .Proxy = Nothing
                    .UseBinary = True
                    .UsePassive = Passive
                    .Timeout = TimeOut
                End With
                MyDebug("Upload File:" & cheminSource, 4)
                monRequestStream = uploadRequest.GetRequestStream()
                MyDebug("Open Local File", 4)
                fileStream = File.Open(cheminSource, FileMode.Open, FileAccess.Read, FileShare.Read)
                MyDebug("Open Stream:" & cheminSource, 4)
                ' Tableau d'octets qui va contenir les données issues du fichier
                Dim buffer(2048) As Byte
                Dim bytesRead As Integer
                ' Lecture des données et envoi de celle-ci dans le flux
                While True
                    bytesRead = fileStream.Read(buffer, 0, buffer.Length)
                    If bytesRead = 0 Then
                        Exit While
                    End If
                    ' Ecriture des données dans le flux d'upload vers le serveur FTP
                    monRequestStream.Write(buffer, 0, bytesRead)
                    TotalLen = TotalLen + bytesRead
                End While
                'L'objet requestStream dot être fermé avant de récupérer la réponse
                monRequestStream.Close()
                ' MyDebug("Close Stream", 5)
                '            uploadResponse = CType(uploadRequest.GetResponse(), FtpWebResponse)
                GoodSend += 1
                ' Gestion des exceptions
            Catch ex As UriFormatException
                MyDebug(ex.Source.ToString & vbTab & "Send Failed(Uri):" & ex.Message & " " & ex.Source, 1)
                FaileSend = FaileSend + 1
            Catch ex As WebException
                MyDebug(ex.Source.ToString & vbTab & "Send Failed(Web):" & ex.Message, 1)
                FaileSend = FaileSend + 1
            Catch ex As IOException
                MyDebug(ex.Source.ToString & vbTab & "Send Failed(IO):" & ex.Message, 1)
                FaileSend = FaileSend + 1
            Finally
                ' Fermeture des différents flux utilisés
                If uploadResponse IsNot Nothing Then
                    uploadResponse.Close()
                End If
                If fileStream IsNot Nothing Then
                    fileStream.Close()
                End If
                If monRequestStream IsNot Nothing Then
                    monRequestStream.Close()
                End If
            End Try
        End Sub
    Si ca peut t'aider..
    Sinon dans ton Url essaye comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    My.Computer.Network.UploadFile(fichier, "ftp://mon_adresse", "username", "password")

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Je vais essayer les deux ce soir et je vous fais un retour.
    Merci.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    Pas de retour ? ça serait cool, les forums ça sert aussi à renseigner les autres.

  5. #5
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 124
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par niouze
    Pas de retour ? ça serait cool, les forums ça sert aussi à renseigner les autres.
    L'erreur venait certainement du fait qu'il ne faut pas mettre le nom du fichier dans l'url que tu passes à l'upload. Le nom du fichier doit UNIQUEMENT apparaitre dans "fichier"...
    Ca marche avec ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    My.Computer.Network.UploadFile(fichier, "ftp://mon_adresse", "username", "password")
    Mas ca marche pas avec ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    My.Computer.Network.UploadFile(fichier, "ftp://mon_adresse/monfichier.txt", "username", "password")

Discussions similaires

  1. [FTP] Télécharger un fichier par FTP
    Par jerome38000 dans le forum Langage
    Réponses: 5
    Dernier message: 27/05/2011, 15h41
  2. Transférer des fichiers par FTP
    Par diamonds dans le forum Général Conception Web
    Réponses: 8
    Dernier message: 06/12/2006, 16h14
  3. [VB6] Transfer de fichier par ftp
    Par fearless dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/07/2006, 00h16
  4. Transfert de fichier par ftp
    Par schub1015 dans le forum MFC
    Réponses: 3
    Dernier message: 14/01/2004, 17h53
  5. Réponses: 1
    Dernier message: 19/08/2003, 16h11

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