Probleme beim Speichern einer heruntergeladenen Datei auf dem Desktop in WPF C #

Wenn ich verwende:

  WebClient web = new WebClient();
  web.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChangedWeb);
  web.DownloadFileAsync(new Uri("http://www.website.com/Webs.exe"),
                            Environment.SpecialFolder.Desktop + @"\Webs.exe");

... Nichts Downloads.

Aber wenn ich es zu "ändern"

  WebClient web = new WebClient();
  web.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChangedWeb);
  web.DownloadFileAsync(new Uri("http://www.website.com/Webs.exe"),
                            Environment.SpecialFolder.Desktop + "Webs.exe");

Dann wird es heruntergeladen, aber ich bekomme eine Datei namens "desktopWebs.exe". Wie kann ich eine Datei auf dem Desktop speichern?

Vielen Dank

0
hinzugefügt bearbeitet
Ansichten: 1

2 Antworten

Was du willst, ist das ...

Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Webs.exe";

Sonst heften Sie sich einfach an das Wort Desktop anstatt an den tatsächlichen Pfad.

0
hinzugefügt
Ahh, ich sehe, wie das jetzt funktioniert. Vielen Dank!
hinzugefügt der Autor JimDel, Quelle

Sie können Path.Combine verwenden

web.DownloadFileAsync(new Uri("http://www.website.com/Webs.exe"),
                        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "Webs.exe"));

Diese Funktion fügt automatisch Schrägstriche ein (oder entfernt sie) und passt sich an jedes verwendete Dateisystem an

Sie sollten auch Environment.SpecialFolder.DesktopDirectory in Betracht ziehen, das auf den tatsächlichen physischen Speicherort des Desktop-Ordners auf der Festplatte verweist.

0
hinzugefügt
Wenn ich nicht etwas falsch mache, funktioniert das nicht. vielleicht, weil ich wpf verwende?
hinzugefügt der Autor JimDel, Quelle
SpecialFolder.DesktopDirectory funktioniert auch nicht für mich. Ich bekomme 'System.Windows.Shapes.Path' enthält keine Definition für 'Kombinieren'
hinzugefügt der Autor JimDel, Quelle
Das funktioniert nur, wenn ich KDiTraglia Lösung verwende. Danke für Ihre Hilfe.
hinzugefügt der Autor JimDel, Quelle
SpecialFolder.DesktopDirectory?
hinzugefügt der Autor jimmyjambles, Quelle
das ist die falsche Path-Klasse, die für das Zeichnen verwendet wird, ich meinte System.IO.Path
hinzugefügt der Autor jimmyjambles, Quelle