You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Microsoft Graph 5.0后,SharePoint文件上传代码的修改需求

Microsoft Graph 5.0 + .NET7 下SharePoint文件上传代码修改要点

针对你升级到Microsoft Graph 5.0和.NET7后的SharePoint文件上传代码,需要做以下几处关键修改:

  • 移除.Request()调用:Graph 5.x版本重构了API调用逻辑,所有操作不再需要显式调用.Request()方法,直接链式调用后续操作即可。
  • 删除冗余的内存拷贝代码:原代码中创建buf2并读取流内容的逻辑完全多余,既浪费内存又影响性能,直接删除。
  • 简化资源释放逻辑:using语句会自动释放MemoryStream资源,无需手动调用ms.Dispose();,删掉该行代码。
  • 调整异步方法调用:保留泛型声明.PutAsync<DriveItem>(ms)即可,但要去掉前面的.Request()前缀。

修改后的完整代码如下:

public async Task<string> SharePointUploadFileAsync(
    string site, string libraryId, IFormFile file, string fileName)
{
    string newFileId = string.Empty;

    var targetFolder = graphClient.Sites[site]
                   .Lists[libraryId]
                   .Drive.Root;

    using (var ms = new MemoryStream())
    {
        await file.CopyToAsync(ms);
        ms.Seek(0, SeekOrigin.Begin);

        var uploadedItem = await targetFolder
              .ItemWithPath(fileName)
              .Content
              .PutAsync<DriveItem>(ms);

        newFileId = uploadedItem.Id;
    }

    return newFileId;
}

额外注意:确保项目已正确安装Microsoft Graph 5.x版本的NuGet包,并引用了using Microsoft.Graph;命名空间。

内容的提问来源于stack exchange,提问作者Rubeesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:13:24