Problème 'MyWebClient.DownloadFile'

jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 27 oct. 2015 à 14:42
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 - 29 oct. 2015 à 14:52
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

4 réponses

jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
28 oct. 2015 à 08:37
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!
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
28 oct. 2015 à 09:20
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
28 oct. 2015 à 10:15
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.
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
29 oct. 2015 à 08:32
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
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
29 oct. 2015 à 14:52
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
0
Rejoignez-nous