所以我使用可恢复的文件上传会话将文件上传到一个驱动器。但是,在上传之前,我无法知道文件的大小。我知道谷歌允许上传具有等内容范围的文件
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是否允许上载未知大小的文件?
提前感谢的帮助
对于其他想知道的人,不,你不能,文件上传必须指定一个大小。