Avatar ·

Wie speichert man einen Stream in eine Datei in C#? Richtige Methoden und Beispiele

Hallo zusammen! Ich bin ein C#-Anfänger und stehe vor folgender Aufgabe: Ich habe ein Objekt vom Typ `Stream` (z.B. aus einer HTTP-Anfrage oder aus dem Speicher) und muss dessen gesamten Inhalt in eine Datei auf der Festplatte speichern. Zuerst habe ich die einfachste Methode versucht: den Stream mit `Read()` in ein Byte-Array einzulesen und dann mit `File.WriteAllBytes` zu schreiben. Hier ist mein Code:
public void SaveStreamToFile(Stream inputStream, string filePath)
{
    byte[] buffer = new byte[inputStream.Length];
    inputStream.Read(buffer, 0, buffer.Length);
    File.WriteAllBytes(filePath, buffer);
}
Dieser Code stürzt jedoch mit einem Fehler ab, wenn der Stream keine Positionierung unterstützt (z.B. ein Netzwerkstream). Außerdem habe ich gelesen, dass es bei großen Dateien zu Speicherproblemen kommen kann.