From 5506c630f1974595a4fb23b0d7acdb163d96d807 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 26 Apr 2016 23:35:10 +0100 Subject: Implement InMemoryDocxFile --- .../Couscous/mammoth/internal/docx/InMemoryDocxFile.cs | 14 +++++--------- .../Couscous/mammoth/internal/docx/ZippedDocxFile.cs | 4 ++++ 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'dotnet/Mammoth') diff --git a/dotnet/Mammoth/Couscous/mammoth/internal/docx/InMemoryDocxFile.cs b/dotnet/Mammoth/Couscous/mammoth/internal/docx/InMemoryDocxFile.cs index a475acd..9b7efd0 100644 --- a/dotnet/Mammoth/Couscous/mammoth/internal/docx/InMemoryDocxFile.cs +++ b/dotnet/Mammoth/Couscous/mammoth/internal/docx/InMemoryDocxFile.cs @@ -1,17 +1,13 @@ using Mammoth.Couscous.java.io; using Mammoth.Couscous.java.util; +using System.IO; namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.docx { - internal class InMemoryDocxFile : DocxFile { + internal class InMemoryDocxFile { internal static DocxFile fromStream(InputStream stream) { - return new InMemoryDocxFile(); - } - - public Optional tryGetInputStream(string name) { - throw new System.NotImplementedException(); - } - - public void close() { + var memoryStream = new MemoryStream(); + stream.Stream.CopyTo(memoryStream); + return new ZippedDocxFile(memoryStream); } } } diff --git a/dotnet/Mammoth/Couscous/mammoth/internal/docx/ZippedDocxFile.cs b/dotnet/Mammoth/Couscous/mammoth/internal/docx/ZippedDocxFile.cs index cad7a2f..cf39e63 100644 --- a/dotnet/Mammoth/Couscous/mammoth/internal/docx/ZippedDocxFile.cs +++ b/dotnet/Mammoth/Couscous/mammoth/internal/docx/ZippedDocxFile.cs @@ -9,6 +9,10 @@ namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.docx { internal ZippedDocxFile(File file) { _zipFile = ZipFile.OpenRead(file.Path); } + + internal ZippedDocxFile(System.IO.Stream stream) { + _zipFile = new ZipArchive(stream); + } public Optional tryGetInputStream(string name) { var entry = _zipFile.GetEntry(name); -- cgit v1.2.3