我有字编码Base64字符串。我只想阅读内容。怎么做?

时间:2017-06-20 11:32:29

标签: c# arrays base64 openxml-sdk memorystream

plainText 编码了word文档base64 string

byte[] buffer = Convert.FromBase64String(plainText);
using (Stream ms = new MemoryStream())
                    {
                        ms.Write(buffer, 0, (int)buffer.Length);
                    }

我尝试使用OpenXML SDK打开word文档

WordprocessingDocument wordDoc = WordprocessingDocument.Open(stream, true)

但是它会抛出文件包含损坏的数据错误。

我也经历了MSDN link OpenXML SDK

我使用此字节[] 缓冲区创建了一个word文档 但我想要实现的是,阅读文档中的内容而不创建(保存)word文档。 我错过了什么?

1 个答案:

答案 0 :(得分:1)

这里最可能的问题是你没有倒回流。设置

ms.Position = 0;

或使用接受byte[]的构造函数,而不是调用.Write

using (Stream ms = new MemoryStream(buffer)) {...}