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.