Télécharger un fichier avec My.Computer.Network.DownloadFile [Résolu]

Signaler
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
-
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
-
Salut,

Voilà, je rencontre un petit soucis. Je souhaite concevoir un programme pour modifier des fichiers .php en fonction des informations rentrées par l'utilisateur.

On arrive donc au problème, je souhaite télécharger les fichiers .php depuis mon serveur.

Avec My.Computer.Network.UploadFile, j'arrive à envoyer mes fichiers sans problème sur mon serveur.

Mais avec avec My.Computer.Network.DownloadFile, je ne récupère que la version html du fichier php (ce qui est normal) même en spécifiant l'identifiant et le mot de passe.

Et il possible avec cette méthode de pouvoir se connecter sur mon serveur et de récupérer réellement les fichiers .php et non leurs versions html ?

(je dis cà car pour UploadFile, il faut avoir une mise en forme spéciale comme ceci :

"ftp://login:pass@Votre_serveur.com/Dossier/fichier_uploader.txt") Donc je me dis que ca doit être pareil dour DownloadFile non

Merci beaucoup

3 réponses

Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Salut,

Ben Finalement, je croyais qu'avec la fonction DownloadFile, on pouvait télécharger un fichier sur un serveur FTP mais je n'obtenais pas ce que je voulais.

J'ai donc crée une fonction permettant de le faire :

Ps : N'oubliez pas d'importer System.Net

Sub DownloadFileFTP(ByVal FichierLocal As String, ByVal FichierFTP As String, ByVal hote As String, ByVal identifiant As String, ByVal motdepasse As String)

        ' FichierLocal --> chemin d'accès complet où sera enregistré le fichier --> Exemple : "D:\index.html"
        ' FichierFTP   --> Chemin d'accès complet du fichier à télécharger      --> Exemple : "/temp/index.html" pour télécharger le fichier 'index.html' dans le dossier 'temp'
        ' hote         --> Réprésente l'hôte où il faudra se connecter         --> Syntaxe : "ftp://hostname"
        ' identifiant  --> Défini le login
        ' motdepasse   --> Défini le mot de passe

        '1. Crée une requête : doit être de la forme ftp://hotename

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

        '2. Définir l'identifiant et le mot de passe

        ftp.Credentials = New  _
        System.Net.NetworkCredential(identifiant, motdepasse)

        '3. Réglage

        ftp.KeepAlive = False

        'Utilisation du transfert binaire

        ftp.UseBinary = True

        'Définir les actions voulues (ici, télécharger un fichier)

        ftp.UsePassive = False
        ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile

        'Boucle pour lire et écrire vers un fichier

        Using response As System.Net.FtpWebResponse = CType(ftp.GetResponse, System.Net.FtpWebResponse)
            Using responseStream As IO.Stream = response.GetResponseStream
                Using fs As New IO.FileStream(FichierLocal, IO.FileMode.Create)
                    Dim buffer(2047) As Byte
                    Dim read As Integer = 0
                    Do
                        read = responseStream.Read(buffer, 0, buffer.Length)
                        fs.Write(buffer, 0, read) '----- Ecriture de la variable lue dans le fichier
                    Loop Until read = 0

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


Fauve
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Bonjour,

"Mais avec avec My.Computer.Network.DownloadFile, je ne récupère que la version html du fichier php (ce qui est normal) même en spécifiant l'identifiant et le mot de passe.

Et il possible avec cette méthode de pouvoir se connecter sur mon serveur et de récupérer réellement les fichiers .php et non leurs versions html ?"


Si tu indiques en chemin ton fichier .php tu dois récupérer ton fichier .php et non un fichier html.
J'ai du mal à saisir la chose...

PI: La méthode UploadFile() et DownloadFile possèdent toutes deux des paramètres d'authentifications. Il n'est alors pas nécessaire de les indiquer dans ton adresse ftp.

++


 
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
6
Hola,

Avec le DownloadFile tu passe aussi par l'adresse FTP donc? Car si tu passe par l'adresse HTTP, c'est normal que tu récupère le HTML et non le PHP (tout comme un navigateur qui affiche la page)