File download mit .NET

By | December 13, 2009

Es gibt zwei Varianten Files vom Internet zu kopieren.

Hier die einfachere Variante:
Die Methode “DownloadFile” holt sich das File und speichert es lokal ab.

string strUrlPicture = "http://www.yoururlhere.abc/logo.gif";

WebClient client = new WebClient();
client.DownloadFile(strUrlPicture, @"C:\logo.gif");

client.Dispose();

Die zweite Variante erlaubt etwas mehr Kontrolle. Das File wird zuerst in ein byte-Array geladen.

string strUrlPicture = "http://www.yoururlhere.abc/logo.gif";

WebClient client = new WebClient();
byte[] yData = client.DownloadData(strUrlPicture);
File.WriteAllBytes(@"C:\logo2.gif", yData);

client.Dispose();

Hier im Prinzip das gleiche wie im oberen Beispiel… nur mit anderen Klassen.

string strUrlPicture = "http://www.yoururlhere.abc/logo.gif";

HttpWebRequest reqDownload = (HttpWebRequest)WebRequest.Create(strUrlPicture);
Stream smResp = reqDownload.GetResponse().GetResponseStream();
Stream smFile = File.Create(@"C:\logo3.gif");

byte[] yBuffer = new byte[2048];
int nSize = 0;
while ((nSize = smResp.Read(yBuffer, 0, yBuffer.Length)) > 0)
    smFile.Write(yBuffer, 0, nSize);

smResp.Close();
smFile.Close();