Add Zip download link

This commit is contained in:
2016-04-19 07:32:13 -04:00
parent 2cf5662461
commit 3f12f19b70
4 changed files with 36 additions and 0 deletions
+1
View File
@@ -61,6 +61,7 @@
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
+21
View File
@@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.IO.Compression;
using System.Linq;
namespace LeafWeb.Core.Entities
@@ -41,5 +43,24 @@ namespace LeafWeb.Core.Entities
{
return $"{Id}_{Identifier}";
}
/// <summary>
/// Contains all output files in a zip
/// </summary>
public byte[] GetOutputFileZip()
{
using (var compressedFileStream = new MemoryStream())
using (var archive = new ZipArchive(compressedFileStream, ZipArchiveMode.Create, true))
{
foreach (var outputFile in OutputFiles)
{
var entry = archive.CreateEntry(outputFile.Filename);
using (var originalFileStream = new MemoryStream(outputFile.Contents))
using (var entryStream = entry.Open())
originalFileStream.CopyTo(entryStream);
}
return compressedFileStream.ToArray();
}
}
}
}