Как добавить файл xml, созданный на лету, в существующий поток памяти в C#? - PullRequest
1 голос
/ 02 апреля 2020
    public ActionResult CreateArchivePackage(GetObjectResponse response)
    {
        using (var memoryStream = new MemoryStream())
        {
            response?.ResponseStream.CopyTo(memoryStream);

            using (System.IO.Compression.ZipArchive zip = new System.IO.Compression.ZipArchive(memoryStream, System.IO.Compression.ZipArchiveMode.Create, true))
            {
                ZipArchiveEntry zipItem = zip.CreateEntry("Asmosis" + ".xml");
                using (MemoryStream originalFileMemoryStream = new MemoryStream(Encoding.Default.GetBytes(CreateXMLDocForNow().OuterXml)))
                {
                    using (System.IO.Stream entryStream = zipItem.Open())
                    {
                        originalFileMemoryStream.CopyTo(entryStream);
                        return File(originalFileMemoryStream.ToArray(), "random/zip");
                    }
                }
            }
        }
    }

Я пробовал несколько разных подходов, таких как преобразование файла xml в поток и последующее добавление его в текущий поток памяти без удачи! Буду признателен за любую помощь, я впервые работаю с потоками, файлами и т. Д. c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...