Méthode de transfert sécurisée de fichier conseillée??

Résolu
cs_bernardo67 Messages postés 41 Date d'inscription dimanche 28 mai 2006 Statut Membre Dernière intervention 20 janvier 2009 - 4 janv. 2009 à 16:34
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 4 janv. 2009 à 18:05
Bonjour,

Je souhaiterais récupérer automatiquement des fichiers (des images en loccurence) situées sur un serveur à l'aide d'une application le tout via une connexion sécurisée (ssl).
J'ai essayé la chose avec un web service (conversion en tableau de bytes) mais le transfert me parait horriblement long!!!
Dans mes recherches je suis tombé sur le partage de dossier, le ftp, etc mais j'ai peur de m'égarer.

Est-ce que quelqu'un a déjà travaillé sur un projet de ce type et que me conseille-t-il?

Merci.
Bernardo.

1 réponse

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
4 janv. 2009 à 18:05
Salut,

Voici une fonction qui téléchargera le fichier que tu voudras :


Note : Penses à importer System.Net dans ton projet









Sub
 DownloadFile(ByVal localFile As StringByVal RemoteFile As StringByVal Host As StringByVal Username As StringByVal PassWord As StringByVal SSL As Boolean)

     '1. Création d'une requête : doit être de la forme ftp://hostname/
     '   et non ftp.myhost.com

     Dim URI As String =  Host & RemoteFile
      Dim  ftp As System.Net.FtpWebRequest  = _
     CType(FtpWebRequest.Create(URI), FtpWebRequest)

     '2. Définit l'identifiant et le mot de passe
     ftp.Credentials =   New  System.Net.NetworkCredential(Username, PassWord)

     '3. Configure la connexion

     ' On ferme la connexion au serveur FTP une fois que la demande a été effectuée
     ftp.KeepAlive  = False

     ' On spécifie si la connexion au FTP doit être une connexion sécurisée
     ftp.EnableSsl =  SSL

     'Nous voulons que le transfert se fasse en binaire
     ftp.UseBinary =  True

     'On définit l'action voulue (Ici, télécharger un fichier)
     ftp.Method  = System.Net.WebRequestMethods.Ftp.DownloadFile

     Using response As System.Net.FtpWebResponse =  _
               CType (ftp.GetResponse, System.Net.FtpWebResponse)
          Using responseStream As IO.Stream  = response.GetResponseStream
          'loop to read & write to file

               Using fs As New IO.FileStream(localFile, IO.FileMode.Create)
                    Dim buffer(2047As Byte
                    Dim read As Integer =   0
                    Do
                         read  = responseStream.Read(buffer, 0, buffer.Length)
                         fs.Write(buffer, 0, read)
                    Loop Until read =   0

                    responseStream.Close()
                    fs.Flush()
                    fs.Close()
                End Using
                responseStream.Close()
           End Using
           response.Close()
      End Using

End Sub





++

Fauve

<hr size ="2" width="100%" />
Pensez : Réponse Acceptée 
3
Rejoignez-nous