Datein per programm von websites kopieren
-
Hallo,
ich wollt ein programm schreiben, dass mir (eine) Datei(en) aus dem Internet auf den eigenen rechner kopiert. Mit Dateien die auf meinem rechner liegen (Text.txt wird zu Text2.txt) geht das wunderbar:using System; using System.IO; private void button1_Click(object sender, System.EventArgs e) { File.Copy(@"C:\Dokumente und Einstellungen\User\Desktop\Text.txt" , @"C:\Dokumente und Einstellungen\User\Desktop\Text2.txt"); }
Mit der langen version funktioniert das ganze genau so gut:
using System; using System.IO; private void button1_Click(object sender, System.EventArgs e) { string path = @"C:\Dokumente und Einstellungen\User\Desktop\Text.txt"; string path2 = @"C:\Dokumente und Einstellungen\User\Desktop\Text2.txt"; using (FileStream fs = File.Create(path2)){}; File.Delete(path2); File.Copy(path, path2); }
wenn ich aber nun bei der variablen path statt einer addresse auf meinem Rechner eine webadresse angebe, bekomm ich den Fehler:
Eine nicht behandelte Ausnahme des Typs 'System.ArgumentException' ist in mscorlib.dll aufgetreten.
Quellcode:
using System; using System.IO; private void button1_Click(object sender, System.EventArgs e) { string path = @"http://www.google.de/intl/de_de/images/logo.gif"; string path2 = @"C:\Dokumente und Einstellungen\User\Desktop\Bild.gif"; using (FileStream fs = File.Create(path2)){}; File.Delete(path2); File.Copy(path, path2); }
Meine Frage nun:
Was für einen code muss ich schreiben, damit ich keine Fehlermeldung erhalte sondern die Datei (in dem Fall das Google logo) auf meinen Desktop kopiert wird?
(das das mit Rechtsklick > Bild speichern unter leichter geht is mir auch klar ich wills nur mit nem programm lösen...)
-
vorher noch...
using System.Drawing; using System.Net; using System.IO;
dann nur...
try { WebRequest request = HttpWebRequest.Create(@"http://www.google.de/intl/de_de/images/logo.gif"); WebResponse response = request.GetResponse(); Bitmap img = (Bitmap) Bitmap.FromStream(response.GetResponseStream()); img.Save("C:\\Google.gif",System.Drawing.Imaging.ImageFormat.Gif); img.Dispose(); } catch(Exception ex) { MessageBox.Show(ex.Message); }
mfg sclearscreen :xmas1:
-
habs nicht kontrolliert aber File arbeite glaube nur lokal wenn mich nicht alles täuscht
obigen Code habe ich getestet geht wunderbar
-
So kannst das nicht machen
Die File Funktionen sind alle lokal, so bald du mit dem Inet arbeitest brauchst du Klassen aus dem Net Namespace.http://www.csharphelp.com/archives2/archive454.html
z.b.
-
Ja geilo!!!
Funktioniert alles bestens! Leute ihr seid voll genial vielen vielen Dank!!
Und fröhliche :xmas1: ! ^^