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

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

Merci cs_fauve 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_fauve
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 27 oct. 2008 à 19:49
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
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 27 oct. 2008 à 21:03
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.