2012-03-22 18 views
13

Attualmente sto cercando di scaricare una traccia audio da un WCF, ho bisogno di aiuto per scriverlo sul disco rigido, come posso configurare lo streamwriter o altro per farlo in una webapp?Scrittura di un file dal flusso StreamReader

// Use Service to download stream (returns System.IO.Stream) 
Stream stream = MyService.Download(("1231")); 
// ReadStream 
StreamReader reader = new StreamReader(stream); 
reader.ReadToEnd(); 

// Write this stream to a file/Hard disk 
??? 
+1

StreamReader è per i dati di testo – Reniuz

+0

woops -_- solo trattati testo in corsi d'acqua prima di questo, grazie. – RY4N

risposta

24
Stream stream = MyService.Download(("1231")); 
using (Stream s = File.Create(path)) 
{ 
    stream.CopyTo(s); 
} 
+0

Questo è come dovrebbe essere fatto, ma non funzionerà con il suo codice a meno che non usi qualcosa di diverso da StreamReader o faccia qualcosa come "var reader = new StreamReader (stream, Encoding.GetEncoding (28591))" – Showtime

+0

sapere come fare lo stesso in .Net 3.5? – Fayilt

+1

@ Fayilt con un ciclo. 'void CopyTo (Stream from, Stream to) { byte [] buffer = new byte [0x10000]; int read = from.Read (buffer, 0, buffer.Length); while (leggi> 0) { to.Write (buffer, 0, lettura); read = from.Read (buffer, 0, buffer.Length); } } ' –

Problemi correlati