Files
Moonlight/Moonlight/App/Extensions/ZipArchiveExtension.cs
2024-01-04 16:03:55 +01:00

26 lines
831 B
C#

using System.IO.Compression;
using System.Text;
namespace Moonlight.App.Extensions;
public static class ZipArchiveExtension
{
public static async Task AddFromText(this ZipArchive archive, string entryName, string content)
{
using var memoryStream = new MemoryStream();
await memoryStream.WriteAsync(Encoding.UTF8.GetBytes(content));
await memoryStream.FlushAsync();
await archive.AddFromStream(entryName, memoryStream);
}
public static async Task AddFromStream(this ZipArchive archive, string entryName, Stream dataStream)
{
var entry = archive.CreateEntry(entryName, CompressionLevel.Fastest);
await using var stream = entry.Open();
dataStream.Position = 0;
await dataStream.CopyToAsync(stream);
await stream.FlushAsync();
}
}