System.IO.Stream input = new System.IO.FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); System.IO.Stream output = this.Response.OutputStream; byte[] buffer = new byte[10 * 1024]; this.Response.BufferOutput = false; this.Response.Clear(); this.TransmitFile(input, output, buffer); input.Close(); output.Close(); this.Response.End(); private void TransmitFile(Stream input, Stream output, byte[] buffer) { int lenght = 0; while ((lenght = input.Read(buffer, 0, buffer.Length)) > 0) { output.Write(buffer, 0, lenght); } }