我有以下代码,但它只是创建一个0kb的空文件。
using (var stream1 = new MemoryStream())
{
MemoryStream txtStream = new MemoryStream();
Document document = new Document();
fileInformation.Stream.CopyTo(stream1);
document.LoadFromStream(stream1, FileFormat.Auto);
document.SaveToStream(txtStream, FileFormat.Txt);
StreamReader reader = new StreamReader(txtStream);
string text = reader.ReadToEnd();
System.IO.File.WriteAllText(fileName + ".txt", text);
}
我知道数据已成功加载到document
,因为如果document.SaveToTxt("test.txt", Encoding.UTF8);
而不是SaveToStream
行,它正确地导出文件。
我做错了什么?
答案 0 :(得分:1)
复制流时,如果复制,则需要注意将位置重置为0。如答案here中所示,您可以对您的流做类似的事情:
stream1.Position = 0;
txtStream.Position = 0;