Problème 'MyWebClient.DownloadFile'

Signaler
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
-
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
-
Bonjour,

Dans le cadre de mon boulot, je cherche à télécharger un fichier d'alarme *.csv dans un IHM via 'WebClient.DownloadFile'

On peut le faire via IE avec 'http://xxx.xxx.xxx.xxx/StorageCard2/Alarmes/Archive_alarmes_10.csv' et cela fonctionne très bien, mais je souhaiterais que cela se fasse sans intervention humaine, et donc sans avoir à ouvrir IE.


Dim DestFile As String = "C:\Files\SAVE_exemple.csv"

'Si le fichier existe, alors le supprimer
If File.Exists(DestFile) Then
File.Delete(DestFile)
End If

Dim MyWebClient As New WebClient
Dim Weblink As String "http://xxx.xxx.xxx.xxx/StorageCard2/Alarmes/Archive_alarmes_10.csv"
MyWebClient.DownloadFile(Weblink, DestFile)


Le soucis, c'est que cette méthode me télécharge le code HTML de la page Web, et non le contenu du fichier CSV.

Auriez-vous une idée?

Merci
A voir également:

4 réponses

Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Bonjour à tous,

Je viens d'essayer avec myWebClient.DownloadData, mais même résultat, je ne télécharge que le code HTML de la page source!

Pourtant, quand je colle cette adresse:
"http://xxx.xxx.xxx.xxx/StorageCard2/Alarmes/Archive_alarmes_10.csv"
Dans IE, je retrouve bien mes data, je comprends pas!
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Merci cgandco

J'ai essayé ta proposition


Dim Weblink As String = "http://xxx.xxx.xxx.xxx/StorageCard2/Alarmes/Archive_alarmes_10.csv"

Dim Http As HttpWebRequest = WebRequest.Create(Weblink)
Dim Reponse = Http.GetResponse
Dim Stream = Reponse.GetResponseStream
Dim sr As System.IO.StreamReader = New StreamReader(Stream)
Dim Content = sr.ReadToEnd


Mais cela ne change rien, ici 'Content' contient encore le code Html de la page et non les data du fichier distant.
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
bonjour,

je n'ai pas le temps maintenant pour essayer mais a mon avis ce que tu recois est "multipart" comme lorsqu'on fait un upload.

Bonne journée
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
9
avec ce code (c#) et un fichier de test a moi cela fonctionne bien.

string Weblink  = @"http://localhost/Clients/NEWDEVELOP/mytest.csv";

            var http = (HttpWebRequest)WebRequest.Create(Weblink);
            var response = http.GetResponse();

            var stream = response.GetResponseStream();
            var sr = new StreamReader(stream);
            var content = sr.ReadToEnd();


vérifie en debug dans visual studio, si tu visualise le contenu de "content" en HTML, que tu ne recois pas une page d'erreur.

mauvaise url, pas accès ...

se serait vraiment bete que tu essaie de prendre un csv ou il n'y en pas.

Bonne journée