如何使用OneDrive REST API将文件上载到OneDrive?

2024-04-16 21:34:47 发布

您现在位置:Python中文网/ 问答频道 /正文

请允许我解释一下我在做什么和怎样做。在

我在做什么?

我正在尝试使用Onedrive的REST API将文件上载到Onedrive 来源:one drive api documentation

我正在使用OneDrive碎片处理方法,因为文件可以大到5gb,也可以小到1kb(取决于用户)

目前,我正在使用POST-MANChrome扩展来调用apie

我怎么样了?

  1. 生成的访问令牌
  2. 已创建会话并收到上载url
  3. 使用下面给出的PUT请求上载文件

我要上载的选定文件(文件大小:729676295字节)enter image description here

添加了标题并发送了请求,然后发送了请求 enter image description here结果如下enter image description here

据说最大片段大小是67108864字节,所以我更改了

内容长度:67108864内容范围:字节0-67108863/729676295

但是我得到了一条错误消息:声明的片段长度与提供的字节数不匹配enter image description here

请帮我弄清楚在内容长度和内容范围中应该传递什么。

非常感谢您的关注。在


Tags: 文件方法用户restapi内容字节documentation
2条回答

enter image description here

{totalNumberOfBytesOfFile}与{}不同

Content-Length是当前片段的字节。在

该图像是上载4917字节文件的示例。在

最后,感谢上帝,经过两天的奋斗,我发现了问题所在。在

有几点你需要记住

  1. 你必须把一个文件分成相等的部分,保存在某个地方,然后把它们分别上传到创建会话后得到的同一个URL上。在
  2. Content Length必须是在片段的所有上载请求中上载的文件的总字节数。在
  3. 内容范围将类似于:0-{fragmentLength-1}/{totalNumberOfBytesOfFile}(与内容长度相同),从下一个片段开始,内容范围将是{uploadedBytes}-{uploadedBytes+nextsetsofBytes-1}/{totalNumberOfBytesOfFile}

注意:下一组字节的长度应与前一组相同。不要担心,因为最后一个片段可能会不同。在

注意:不要使用上传成功后你将收到的内容范围。在

相关问题 更多 >