首页 > 解决方案 > 通过 Rest API 从 Google Drive 下载部分内容需要太长时间

问题描述

我正在尝试从 Google Drive 下载文件并显示进度。

根据官方文档,从 Google Drive 下载文件的请求接受了Rangeheader,但并没有太大区别。我正在尝试下载一个~40 MB文件,无论我下载或的块100 B,每个请求总是需要大约 30 秒才能完成,无论是在 iOS 上还是在 Postman 上。对带有完成的较小文件的请求,因此访问 API 本身不是问题。65 KiB20 MiB~300 ms

我与邮递员发送的请求是

GET /drive/v3/files/<file id>?alt=media HTTP/1.1
Host: www.googleapis.com
Range: bytes=0-100
Cache-Control: no-cache
Authorization: Bearer <My Token>
Postman-Token: ef19a353-98fe-4e7b-a892-a5a1a178d8a6

(来自我们应用程序的请求应该非常相似。)我认为它应该很快返回,但事实并非如此。~40 MB如果我下载了整个 ( ) 文件,它所花费的时间几乎一样长。

我还能做些什么来以合理的方式报告进度来接收部分下载?每个块花费与整个下载相同的时间使范围标头有点无用。

标签: c#httpgoogle-apigoogle-drive-apipostman

解决方案


推荐阅读