Files
Disco/Disco.Web.Extensions/MvcExtensions/File/FileContentSpanResult.cs
T
Gary Sharp 5ce9e51ae7 Feature: MS Excel (xlsx) Import/Export
Microsoft Excel files can be used to import/export devices. Several
import bugs were also fixed in the process.
2017-03-25 15:37:28 +11:00

35 lines
1.0 KiB
C#

using System;
using System.Web;
using System.Web.Mvc;
namespace Disco.Web.Extensions
{
public class FileContentSpanResult : FileResult
{
public byte[] FileBuffer { get; private set; }
public int Start { get; private set; }
public int Length { get; private set; }
public FileContentSpanResult(byte[] fileBuffer, int start, int length, string contentType) : base(contentType)
{
if (fileBuffer == null)
throw new ArgumentNullException(nameof(fileBuffer));
if (start < 0 || start >= fileBuffer.Length)
throw new ArgumentOutOfRangeException(nameof(start));
if (start + length > fileBuffer.Length)
throw new ArgumentOutOfRangeException(nameof(length));
FileBuffer = fileBuffer;
Start = start;
Length = length;
}
protected override void WriteFile(HttpResponseBase response)
{
response.OutputStream.Write(this.FileBuffer, Start, Length);
}
}
}