从 SharePoint 读取文件未返回正确值

Reading file from SharePoint not returning correct value

我正在使用以下代码从 Sharepoint 2019 读取文件,return 值不是字符串。 return 值的示例:0[=13=][=13=](\u0001\0\0\u001e\0[=13=][=13=]\0[=13=][=13=]

using (ClientContext clientContext = new ClientContext("http://sharepoint2019/sites/test/"))
        {
            KeywordQuery keywordQuery = new KeywordQuery(clientContext);
            keywordQuery.QueryText = "SharePoint";
            keywordQuery.EnablePhonetic = true;
            SearchExecutor searchExecutor = new SearchExecutor(clientContext);                
            ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery);
            clientContext.ExecuteQuery();
            foreach (var resultRow in results.Value[0].ResultRows)
            {
                Console.WriteLine("{0}: {1} ({2})", resultRow["Title"], resultRow["Path"], resultRow["Write"]);

                File file= clientContext.Web.GetFileByUrl(resultRow["Path"].ToString());
                var stream = file.OpenBinaryStream();
                clientContext.Load(file);
                clientContext.ExecuteQuery();

                FileInformation fileInformation = File.OpenBinaryDirect(clientContext, (string)file.ServerRelativeUrl);
                using (System.IO.StreamReader sr = new System.IO.StreamReader(fileInformation.Stream))
                {
                    // Read the stream to a string, and write the string to the console.
                   String line = sr.ReadToEnd();
                    Console.WriteLine(line);
                }


            }

        }

如果您正在读取一些文件,如 Word(不是 txt 文件),您将需要使用 Open Xml 库来读取 Word 中的字符串,文件流不能 return 真正的字符串作为预期:

Get Plain Text of a Word Document using Open XML (CSOpenXmlGetPlainText)

Open a word processing document from a stream (Open XML SDK)