Microsoft Graph 5.38 获取文件内容失败

问题描述 投票:0回答:1

我已将我们的项目更新到 .Net 7,这要求我将 Microsoft Graph API 版本更新到版本 5.38。在大多数情况下,除了从 SharePoint 获取文件之外,一切都运行良好。我正在使用以下方法来获取文件内容:

await _graphServiceClient.Drives[docFolderId].Items[file.Id].Content.GetAsync();

这似乎确实获取了文件内容,但是,当您查看对象的属性时,您会发现许多属性失败,例如 Length 的基本属性。我得到的错误如下:

((System.Net.Http.HttpBaseStream)fileContent).Length = '((System.Net.Http.HttpBaseStream)fileContent).Length' threw an exception of type 'System.NotSupportedException'

这对我来说没有意义,我忍不住认为这是一个错误。但是,我想询问社区,看看是否有其他人遇到过这种情况并找到解决方法?

sharepoint microsoft-graph-api .net-7.0 microsoft-graph-sdks filecontentresult
1个回答
0
投票

方法返回的流

var fileContent = await _graphServiceClient.Drives[docFolderId].Items[file.Id].Content.GetAsync();

默认不缓冲,所以无法读取流的长度。

尝试将流复制到内存流中并读取该流的长度

using var ms = new MemoryStream();
await fileContent.CopyToAsync(ms);
var length = ms.Length;
© www.soinside.com 2019 - 2024. All rights reserved.