上载大小未知的OneDrive文件



所以我使用可恢复的文件上传会话将文件上传到一个驱动器。但是,在上传之前,我无法知道文件的大小。我知道谷歌允许上传具有等内容范围的文件

Content-Range: 0-128/*

我认为OneDrive也会允许它,因为它甚至在RFC2616 中指定

Content Range="Content Range":"内容范围规范

content-range-spec      = byte-content-range-spec
byte-content-range-spec = bytes-unit SP
byte-range-resp-spec "/"
( instance-length | "*" )
byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
| "*"
instance-length           = 1*DIGIT

标题应该指示完整的实体,除非该长度未知或难以决定星号"*"字符表示响应为时实例长度未知生成。

但在阅读OneDrive文档后,我发现上面写着

示例:在本示例中,应用程序正在上传128字节文件。

Content-Length标头指定当前请求的大小。

Content Range标头指示此请求所代表的文件。

在您可以上传文件的第一个片段之前,文件的总长度是已知的。HTTP

Copy PUT https://sn3302.up.1drv.com/up/fe6987415ace7X4e1eF866337
Content-Length: 26 Content-Range: bytes 0-25/128
<bytes 0-25 of the file>

重要提示:您的应用程序必须确保在"内容范围"标头中指定的文件大小对于所有请求。如果一个字节范围声明了不同的文件大小,则请求将失败。

也许我只是读错了文档,或者它只适用于这个例子,但在我去构建整个上传程序之前,我只想澄清一下OneDrive 是否允许这样做

我的问题是

OneDrive是否允许上载未知大小的文件?

提前感谢的帮助

对于其他想知道的人,不,你不能,文件上传必须指定一个大小。

最新更新