Скачать байтовый массив из потокового писателя - PullRequest
0 голосов
/ 28 марта 2020

Привет, я пытаюсь заставить работать этот кусок кода, после того, как копия шаблона файла слова в поток памяти, прочитав его и заменив некоторый текст, я бы преобразовал потоковую запись в байтовый массив, который будет использоваться для загрузки результат. Заранее спасибо

public byte[] GetWordFile()
    {
        try
        {
            string sourceFile = Path.Combine("C:/[...]/somefile.docx");

            using (MemoryStream inStream = new MemoryStream())
            {
                using (Stream fs = File.Open(sourceFile, FileMode.Open, FileAccess.Read))
                {
                    fs.CopyTo(inStream);
                }

                using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(inStream, true))
                {
                    string docText = null;
                    using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
                    {
                        docText = sr.ReadToEnd();
                    }

                    docText = docText.Replace("numpol", "HAHAHHAHA");

                    using (MemoryStream outStream = new MemoryStream())
                    using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
                    {
                        sw.Write(docText);
                        sw.Flush();

                        sw.BaseStream.CopyTo(outStream);

                        outStream.Position = 0;

                        return outStream.ToArray();
                    }
                }
            }

        }
        catch (Exception ex)
        {
           ///...
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...