Google drive api 如何使下载URL返回内容长度作为响应?

Google drive api 如何使下载URL返回内容长度作为响应?,google-drive-api,Google Drive Api,此页面()描述了一种获取下载URL的方法,称为替代方法。这就是我们所用的。我们获取此URL,然后使用此URL发送GET请求。问题是返回的响应没有内容长度,因此无法显示进度条。是否有办法强制此URL返回下载内容的内容长度?我们特别感兴趣的是让这个URL返回内容长度,因为我们将URL传递给不同的系统,该系统专门为下载而创建,并且该系统没有调用GoogleDrive API的逻辑。下面是响应头的示例 HTTP/1.1 200 OK X-GUploader-UploadID: AEnB2UobhZIKO

此页面()描述了一种获取下载URL的方法,称为替代方法。这就是我们所用的。我们获取此URL,然后使用此URL发送GET请求。问题是返回的响应没有内容长度,因此无法显示进度条。是否有办法强制此URL返回下载内容的内容长度?我们特别感兴趣的是让这个URL返回内容长度,因为我们将URL传递给不同的系统,该系统专门为下载而创建,并且该系统没有调用GoogleDrive API的逻辑。下面是响应头的示例

HTTP/1.1 200 OK
X-GUploader-UploadID: AEnB2UobhZIKOBsST_-cDZt3BvIK2HSQ5ErTDPsA50BdhaAVrF9RD2Py-57pUoRnleNJnd_Xkg2_RoJClvYTzt0kZfaTSdQ61QB3tWXleX1RpefLObvFf2s
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: false
Access-Control-Allow-Headers: Accept, Accept-Language, Authorization, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Length, Content-MD5, Content-Range, Content-Type, Date, GData-Version, Host, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, Origin, OriginToken, Pragma, Range, Slug, Transfer-Encoding, Want-Digest, X-ClientDetails, X-GData-Client, X-GData-Key, X-Goog-AuthUser, X-Goog-PageId, X-Goog-Encode-Response-If-Executable, X-Goog-Correlation-Id, X-Goog-Request-Info, X-Goog-Experiments, x-goog-iam-authority-selector, x-goog-iam-authorization-token, X-Goog-Spatula, X-Goog-Upload-Command, X-Goog-Upload-Content-Disposition, X-Goog-Upload-Content-Length, X-Goog-Upload-Content-Type, X-Goog-Upload-File-Name, X-Goog-Upload-Offset, X-Goog-Upload-Protocol, X-Goog-Visitor-Id, X-HTTP-Method-Override, X-JavaScript-User-Agent, X-Pan-Versionid, X-Origin, X-Referer, X-Upload-Content-Length, X-Upload-Content-Type, X-Use-HTTP-Status-Code-Override, X-Ios-Bundle-Identifier, X-Android-Package, X-YouTube-VVT, X-YouTube-Page-CL, X-YouTube-Page-Timestamp
Access-Control-Allow-Methods: GET,OPTIONS
Content-Type: application/zip
Content-Disposition: attachment;filename="bluemsx-code-1273.zip";filename*=UTF-8''bluemsx-code-1273.zip
Date: Tue, 04 Oct 2016 00:24:09 GMT
Expires: Tue, 04 Oct 2016 00:24:09 GMT
Cache-Control: private, max-age=0
X-Goog-Hash: crc32c=inH43w==
Transfer-Encoding: chunked
Server: UploadServer
Alt-Svc: quic=":443"; ma=2592000; v="36,35,34,33,32"
如果在Google Drive API中检查下载文件的长度,则无法确定文件的内容长度

因此,基于此,另一种方法是,您需要使用您的下载

XMLHttpRequest
提供了监听处理请求时可能发生的各种事件的功能。这包括定期进度通知、错误通知等


我发现的另一种方法是使用一个名为
ProgressListener
的特殊处理程序来监视进度。有关更多信息和示例代码,请查看教程链接。

我没有使用JavaScript和XMLHttpRequest对象。代码是C语言的,但就像我说的,我不能在那个地方使用C语言的Google Drive SDK,但这不重要。我完全了解所有可能的进度监控技术,即使现在我也会显示下载了多少数据,但我不知道要下载的数据总量,因此没有进度条,只有下载了多少KBs的简单数字。基本上,唯一的问题是,如果我只有Google Drive下载URL,如何获得数据值的总量?顺便说一下,文档中没有提到任何关于内容长度的内容。