从 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)
我正在使用以下代码从 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)