2016-12-18 13 views
1

[SOLUTION]C# WebClient: unzulässiges Zeichen in Verbindung

habe ich die URL in den Weg Argument und den Weg in das URL-Argument. Albern mir

[/ SOLUTION]

Ich möchte ein Aktualisierungsprogramm machen, und so muss ich einige (.zip) der Datei-Download von Dropbox. Ich habe eine Download-Methode in einer .dll, die ich selbst geschrieben habe, sollte kein Problem sein, wollte nur erwähnen, wenn ich diese Methode nun mit einem Link aus einem String-Array anrufe. Ich bekomme:

enter image description here

Nun ist die Fehlermeldung Deutsch ist, damit ich es für Sie übersetzen: „Exception während eine WebClient Antrag zu machen“.

Ich kann noch mehr Informationen über die Fehler geben den genauen Fehler ist:

„Es gibt ein unzulässiges Zeichen in der Download-String“

ich einen anderen Link von Dropbox versucht.

Works:https://www.dropbox.com/s/n82iqqf1vmfrfhr/Base.zip?dl=1

funktioniert nicht:https://www.dropbox.com/s/dd146f85trixobv/update1.zip?dl=1

Beide Links kommen aus dem gleichen Array ...

Welche ganz gut funktioniert. Also ich weiß nicht, was die illegale Charakter ist ...

enter image description here

Die String-Array wird File.ReadAllLines erzeugt() verwendet, die eine Datei mit 3 Links darin liest.

Die Datei sieht genauso aus wie das:

https://www.dropbox.com/s/n82iqqf1vmfrfhr/Base.zip?dl=1 
https://www.dropbox.com/s/dd146f85trixobv/update1.zip?dl=1 
https://www.dropbox.com/s/xcmat8x8qlijxsn/update2.zip?dl=1 

enter image description here

+0

Vielleicht ein 'es \ r \ n 'oder so ähnlich in der Verbindung? Könnten Sie das bitte überprüfen? – khlr

+0

Der Link ist: https: //www.dropbox.com/s/dd146f85trixobv/update1.zip?dl=1 also gibt es **/s/d ** in der Verbindung, aber das erklärt nicht den Fehler seit https: //www.dropbox.com/s/n82iqqf1vmfrfhr/Base.zip?dl=1 funktioniert gut und hat die gleichen Sachen drin. –

+0

Das '/ s/d' ist nicht problematisch :) Aber Sie, sagte, dass Sie die Links aus einer Datei lesen. Vielleicht gibt es in dieser Zeile Ihrer Quelldatei ein unzulässiges Zeichen. – khlr

Antwort

0

Als das, was ich in der Bildnummer 1, sehe Sie Pfad statt Verbindung gesetzt haben! Ihr Code:

webClient.DownloadFile(path,link); 

Aber der richtige Code ist:

webClient.DownloadFile(link,path); 

den Code So verwenden unter:

WebClient wb = new WebClient(); 
var link = new Uri("https://www.dropbox.com/s/dd146f85trixobv/update1.zip?dl=1") 
wb.DownloadFile(link, @path); 
+0

Ihr Recht, ich kann nicht glauben, dass ich das nicht gefunden habe. : D Aber es macht perfekten Sinn, da ich von dem anderen Link in einer anderen Methode herunterladen und da hatte ich es richtig gemacht ... –

Verwandte Themen