1 namespace System.Web.Mvc {
6 public class FileStreamResult : FileResult {
8 // default buffer size as defined in BufferedStream type
9 private const int _bufferSize = 0x1000;
11 public FileStreamResult(Stream fileStream, string contentType)
13 if (fileStream == null) {
14 throw new ArgumentNullException("fileStream");
17 FileStream = fileStream;
20 public Stream FileStream {
25 protected override void WriteFile(HttpResponseBase response) {
26 // grab chunks of data and write to the output stream
27 Stream outputStream = response.OutputStream;
29 byte[] buffer = new byte[_bufferSize];
32 int bytesRead = FileStream.Read(buffer, 0, _bufferSize);
38 outputStream.Write(buffer, 0, bytesRead);