Forum: PC-Programmierung Dateidownload mit C#


von Michael (Gast)


Lesenswert?

Hallo,

ich möchte eine Datei aus dem Internet downloaden, jedoch wird die Datei 
immer geöffnet.
Wenn es eine zip Datei ist funktioniert es.
Wo liegt mein Fehler?
1
private void downloadUpdateButton_Click(object sender, EventArgs e)
2
{
3
   try
4
   {
5
     Process.Start("http://www.xxxxxxx.de/downloads/firmware.hex");
6
   }
7
   catch (WebException ex)
8
   {
9
     MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
10
   }
11
}

von Arc N. (arc)


Lesenswert?

Michael wrote:
> Hallo,
>
> ich möchte eine Datei aus dem Internet downloaden, jedoch wird die Datei
> immer geöffnet.
> Wenn es eine zip Datei ist funktioniert es.
> Wo liegt mein Fehler?

Der Fehler liegt wohl eher daran, was für die Dateiendung/den Dateityp 
im System und Browser eingestellt ist.

Man kann das ganze aber auch relativ einfach ohne Umweg machen:
1
    byte[] buffer = new byte[16384];
2
    int len;
3
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://atmel.com/dyn/resources/prod_documents/doc8067.pdf");
4
    HttpWebResponse res = (HttpWebResponse)req.GetResponse();
5
    Stream stream = res.GetResponseStream();
6
    FileStream file = File.Create("test.pdf");
7
    // Den Originalnamen kann man sich mit 
8
    // res.ResponseUri.Segments.Last() besorgen
9
10
    do {
11
        len = stream.Read(buffer, 0, 16384);
12
        if (len < 1) break;
13
        file.Write(buffer, 0, len);
14
    } while (len > 0);
15
    file.Close();

von bluppdidupp (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.