Comment sauvegarder un flux dans un fichier en C# ?

Comment sauvegarder un flux dans un fichier en C# ?

Comme souligné par Tilendor dans la réponse de Jon Skeet, les flux ont une méthode CopyTo depuis .NET 4.

var fileStream = File.Create("C:\\Path\\To\\File");
myOtherObject.InputStream.Seek(0, SeekOrigin.Begin);
myOtherObject.InputStream.CopyTo(fileStream);
fileStream.Close();

Ou avec la syntaxe using :

using (var fileStream = File.Create("C:\\Path\\To\\File"))
{
    myOtherObject.InputStream.Seek(0, SeekOrigin.Begin);
    myOtherObject.InputStream.CopyTo(fileStream);
}

Vous devez appeler Seek si vous n’êtes pas déjà au début, sinon vous ne copierez pas l’intégralité du flux.