initial add
This commit is contained in:
44
Fab2ApprovalSystem/PdfGenerator/BinaryContentResult.cs
Normal file
44
Fab2ApprovalSystem/PdfGenerator/BinaryContentResult.cs
Normal file
@ -0,0 +1,44 @@
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
// <copyright file="BinaryContentResult.cs" company="SemanticArchitecture">
|
||||
// http://www.SemanticArchitecture.net pkalkie@gmail.com
|
||||
// </copyright>
|
||||
// <summary>
|
||||
// An ActionResult used to send binary data to the browser.
|
||||
// </summary>
|
||||
// --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
namespace Fab2ApprovalSystem.PdfGenerator
|
||||
{
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
/// <summary>
|
||||
/// An ActionResult used to send binary data to the browser.
|
||||
/// </summary>
|
||||
public class BinaryContentResult : ActionResult
|
||||
{
|
||||
private readonly string contentType;
|
||||
private readonly byte[] contentBytes;
|
||||
|
||||
public BinaryContentResult(byte[] contentBytes, string contentType)
|
||||
{
|
||||
this.contentBytes = contentBytes;
|
||||
this.contentType = contentType;
|
||||
}
|
||||
|
||||
public override void ExecuteResult(ControllerContext context)
|
||||
{
|
||||
var response = context.HttpContext.Response;
|
||||
response.Clear();
|
||||
response.Cache.SetCacheability(HttpCacheability.Public);
|
||||
response.ContentType = this.contentType;
|
||||
|
||||
using (var stream = new MemoryStream(this.contentBytes))
|
||||
{
|
||||
stream.WriteTo(response.OutputStream);
|
||||
stream.Flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user