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

Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
- - Dernière réponse : cs_fauve
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
- 30 oct. 2008 à 14:20
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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
7
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_fauve
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
17
0
Merci
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.

++


 
Commenter la réponse de cs_Willi
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
4
0
Merci
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)
Commenter la réponse de Kevin.Ory

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.