begin process at 2012 02 15 21:24:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Réseaux & Internet

 > 

Protocoles

 > 

Probleme de connexion (ftp)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de connexion (ftp)

mercredi 22 avril 2009 à 14:21:06 | Probleme de connexion (ftp)

rida_riad

Bonjour tout le monde,
Aprés l'utilisation d'une méthode qui permet  la connexion à un serveur ftp et  de copier des fichiers j'ai le message suivant :
------------------------------------------------------------------------------------------------
-la connexion sous-jacente a été fermée:une erreur inattendue s'est produite lors de la réception-
------------------------------------------------------------------------------------------------

Rq:j'ai fais des tests avec d'autre serveur ftp ça marche tres bien
mais avec mon serveur ça donne l'erreur

Merci pour votre aide.

voila la méthode :
----------------------
Private Sub downloadFichier(ByVal strUrlFichier As String, _
                                ByVal strCheminDestinationFichier As String, _
                                ByVal identifiant As String, _
                                ByVal motDePasse As String)
        ' strUrlFichier : Uri du fichier sur le serveur FTP
        ' strCheminDestinationFichier : Uri du fichier sur le disque dur
        ' identifiant : login du compte FTP utilisé
        ' motDePasse : mot de passe du compte FTP utilisé
        ' Instanciation de deux Uri qui vont contenir les chemins source et destination
        Dim monUriFichier As New System.Uri(strUrlFichier)
        Dim monUriDestinationFichier As New System.Uri(strCheminDestinationFichier)
        ' Vérification de la validité de l'Uri du fichier sur le serveur FTP
        If Not (monUriFichier.Scheme = Uri.UriSchemeFtp) Then
            MessageBox.Show("L'Uri du fichier sur le serveur FTP n'est pas valide", _
                            "Une erreur est surevnue", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            ' Si Uri non valide, arrêt du téléchargement
            Exit Sub
        End If
        ' Vérification de la validité de l'Uri de l'emplacement du fichier de destination
        If Not (monUriDestinationFichier.Scheme = Uri.UriSchemeFile) Then
            MessageBox.Show("Le chemin de destination n'est pas valide !", _
                            "Une erreur est surevnue", _
                            MessageBoxButtons.OK, MessageBoxIcon.Warning)
            ' Si Uri non valide, arrêt du téléchargement
            Exit Sub
        End If
        ' Création des 2 flux et du reader nécessaire pour la récupération du fichier
        Dim monResponseStream As Stream = Nothing
        Dim monFileStream As FileStream = Nothing
        Dim monReader As StreamReader = Nothing
        Try
            ' Requête demandant le fichier se trouvant sur le serveur FTP
            Dim downloadRequest As FtpWebRequest = CType(WebRequest.Create(monUriFichier), FtpWebRequest)
            ' Vérification de la présence des identifiants d'un compte, si aucun alors
            ' la connexion se fait en mode anonyme
            If Not identifiant.Length = 0 Then
                Dim monCompteFtp As New NetworkCredential(identifiant, motDePasse)
                downloadRequest.Credentials = monCompteFtp
            End If
            ' Flux de données issu du fichier sur le serveur FTP
            '//////////////////////////////////////////////////////////
            Dim downloadResponse As FtpWebResponse = CType(downloadRequest.GetResponse, FtpWebResponse)
            monResponseStream = downloadResponse.GetResponseStream()
            ' Chemin de destination du fichier sur le disque dur
            Dim nomFichier As String = monUriDestinationFichier.LocalPath.ToString
            ' Création du fichier de destination sur le disque dur
            monFileStream = File.Create(nomFichier)
            ' Tableau d'octets qui va contenir les données issues du flux
            Dim monBuffer(1024) As Byte
            Dim octetsLus As Integer
            ' Lecture du buffer, puis écriture des données dans le fichier
            While True
                ' Lecture du flux
                octetsLus = monResponseStream.Read(monBuffer, 0, monBuffer.Length)
                If octetsLus = 0 Then
                    Exit While
                End If
                ' Ecriture dans le fichier
                monFileStream.Write(monBuffer, 0, octetsLus)
            End While
            MessageBox.Show("Téléchargement effectué.")
            ' Gestion des exceptions
        Catch ex As UriFormatException
            MessageBox.Show(ex.Message)
        Catch ex As WebException
            MessageBox.Show(ex.Message)
        Catch ex As IOException
            MessageBox.Show(ex.Message)
        Finally
            ' Fermeture du reader et des deux streams si nécessaire
            If Not (monReader Is Nothing) Then
                monReader.Close()
            ElseIf Not (monResponseStream Is Nothing) Then
                monResponseStream.Close()
            End If
            ' Fermeture du flux et du fichier
            If Not (monFileStream Is Nothing) Then
                monFileStream.Close()
            End If
        End Try
    End Sub
----------------------
et voila l'appel:
        downloadFichier("ftp://monserveur", "destination", "user", "mdp")




Cette discussion est classée dans : fichier, end, ftp, uri, if


Répondre à ce message

Sujets en rapport avec ce message

Problème d'ouverture de fichier par double-clique [ par PatBlarg ] Bonjour, j'ai trouvé un petit bout de code sur internet qui me permet de récupéré le nom d'un fichier lorsque je double-clic sur celui-ci dans Windows VBA Afficher le fichier texte créé [ par mdeg ] Bonjour, J'ai écrit un code pour écrire dans un fichier texte à l'aide d'un commondialog. l'utilisateur choisi l'endroit où il veut enregistrer le fi Msgbox "Le fichier existe déja. Voulez vous le remplacer?" [ par mdeg ] Bonjour, Je souhaiterais faire apparaître la msgbox "Le fichier existe déja voulez vous le rempacer?" lors de l'enregistrment d'un fichier si le nom Question et demande d'aide concernant un tutorial : Ouvrir un fichier Excel à partir de VB6.0 [ par Ackby ] Bonjour, Je souhaite ouvrir un fichier Excel en cliquant sur un bouton dans un programme réalisé en VB6.0 Après avoir lu le tutorial :"Utiliser Exc Besoin d'aide pour un appel de procédure [ par uytr ] Bonjour, Depuis quelques jours je cherche une solution à mon problème sans succès. Il s'agit d'un script écrit en VBS et qui a pour fonction de récu VB6 ef FTP [ par Mikey ] Comment envoyer un fichier par FTP en mode ASCII grâce à VB?J'utilise le composant Inet avec la fonction Execute FTPURL,"SEND file1 file2" mais le fic Auto-copie du fichier... [ par Overkill ] Voila, j'aimerai ke mon fichier se copie lors du démarage de l'application, et ke son nom n'est pas d'importance .Voila, j'ai essayé, et ça marche ke tranfert sur ftp [ par stickbuzz ] je cherche a envoyer 1 fichier defini sur 1 serveur ftp avec winsock......je comprends pas tt.......je c pas si je me connecte au serveur mais ce qui comment envoyer un fichier sur un espace ftp ? [ par Tom ] comment envoyer un fichier sur un espace ftp ?sachant que le nom du fichier est invariable tout comme le nom de l'espace ftp.Le fichier en question es


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales