我知道如何一次下载所有文件,如本页示例所示:Google Drive API -Files: get .
但是,如果我有一个非常大的文件,将其全部加载到内存中将是低效的并且会占用资源。因此,我想知道是否可以使用 Drive API 流式传输文件,一次只将文件的一部分加载到内存中,然后处理它们(以某种方式,如写入文件或直接写入输出)。我已经阅读了文档,甚至查看了 PHP Google Drive SDK 的源代码,似乎支持流式传输,但我不知道如何使用它。感谢所有帮助。
最佳答案
是的,可以通过一次获取一个 block 来指定要到达那里的文件量。但我不确定在文件完全下载之前您是否真的可以阅读文件中的内容。
Google drive SDK download files - Partial download
Partial download
Partial download involves downloading only a specified portion of a file. You can specify the portion of the file you want to download by using a byte range with the Range header. For example: Range: bytes=500-999
我快速浏览了 php client lib而且我不确定它是否支持它。这可能是需要的东西 added to the client lib或者您必须在不使用客户端库的情况下自行编写代码。
关于php - Google Drive PHP API - 如何流式传输大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771146/