我正在寻找一种从Microsoft.SharePoint.Client.File对象获取文件大小的好方法.
该Client对象没有Length成员.
我试过这个:
foreach (SP.File file in files)
{
string path = file.Path;
path = path.Substring(this.getTeamSiteUrl().Length);
FileInformation fileInformation = SP.File.OpenBinaryDirect(this.Context, path);
using (MemoryStream memoryStream = new MemoryStream())
{
CopyStream(fileInformation.Stream, memoryStream);
file.Size = memoryStream.Length;
}
}
Run Code Online (Sandbox Code Playgroud)
通过使用MemoryStream它给了我一个长度,但它对性能不利.此文件也不属于文档库.由于它是一个附加文件,我无法ListItem使用它将其转换为对象ListItemAllFields.如果我可以将其转换为a ListItem,我可以使用以下方法获取其大小:ListItem["File_x0020_Size"]
如何Client使用C#在SharePoint中获取对象的文件大小?