c# - "DeferCommit was set to false for this upload session"错误

标签 c# microsoft-graph-api onedrive microsoft-graph-files

我正在尝试实现 Upload large files with an upload session .

现在我已经(获取上传 session ):

UploadSession uploadSession = await graphClient
    .Users["<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ec999f899edfac8195af83819cc2838281858f9e839f838a98c28f8381" rel="noreferrer noopener nofollow">[email protected]</a>"]
    .Drive
    .Root
    .ItemWithPath(@"\someFolder\file.txt")
    .CreateUploadSession()
    .Request()
    .PostAsync();

此请求的响应是某个 session URL,但当我将文件 block 上传到此 URL 时,出现错误:

{
  "error": {
    "code": "invalidRequest",
    "message": "DeferCommit was set to false for this upload session."
  }
}

有谁知道导致此错误的原因吗?

最佳答案

在没有看到上传字节的请求是如何发出的情况下,我只能猜测一点 - 但我相信问题是您使用了 POST 而不是 PUT.返回的 session URL 需要使用适当的 Content-Range header 向其发出 PUT 请求,以便上传和提交数据。

关于c# - "DeferCommit was set to false for this upload session"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56358257/

相关文章:

c# - WPF 4.0 Datagrid 高度问题

C# 网站与 mySQL 数据库的连接

azure - 如何使用 AzureADGraph 或 Microsoft Graph 在 AZURE AD B2C 中为用户生成访问 token ?

Excel 的全名属性与 OneDrive

powershell - Azure AD - 如何自动访问全局管理员角色到用户角色,以便从用户角色 OneDrive 访问 "Access files"?

c# - 使用 NAudio 录制和播放音频

c# - 将动态数字格式插入内插字符串

c# - 在 AuthenticationContext 中使用 UserPasswordCredential 进行身份验证时,使用 GraphServiceClient 获取刷新 token

microsoft-graph-api - 使用 Microsoft Graph SDK 1.4 NuGet 的增量查询

c# - 如何查找Skydrive文件夹的文件夹ID