我使用下面的代码从sharepoint 2019年读取一个文件,返回值不是字符串。返回值示例:0\0\0(\u0001\0\u001e\0\0\0\0\0\0\0\0\0)
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);
}
}
}发布于 2019-06-03 09:13:19
如果您正在读取一些文件,如Word (而不是txt文件),则需要使用Open库读取Word中的字符串,filestream无法按预期返回真正的字符串:
https://stackoverflow.com/questions/56423315
复制相似问题