【问题标题】:How to partially download google drive files?如何部分下载谷歌驱动器文件?
【发布时间】:2017-08-21 15:50:27
【问题描述】:

我正在尝试从谷歌驱动器下载文件的特定字节。当我设置 bytes=0-1000 时,它工作正常。当我指定特定的字节范围(如下所示)时,下载的视频大小是正确的,但是我无法播放视频。

HttpRequest httpRequestGet = drive.getRequestFactory().buildGetRequest(new GenericUrl(url.toString()));
httpRequestGet.getHeaders().setRange("bytes=" + 10000 + "-" + 200000);

我错过了什么吗?提前致谢。

【问题讨论】:

  • 您确定您的视频格式支持流式传输吗?此外,即使这样做,您也可能需要文件开头的标题才能正确播放它
  • 是的,当我指定 bytes=0-(大小内的任何值)时,文件正在正确下载并且我可以播放视频。
  • 那是因为当您从字节 0 下载时,会包含标头。如果标题不存在,您的视频可能无效(因为它可能包含有关视频的重要信息)。而且这种格式可能是可流式传输的,并且不会因结尾丢失而烦恼。
  • 非常感谢,我现在明白了。你能告诉我如何纠正它吗?
  • @litelite 我在调用 setRange(..) 之前使用 getHeaders()。头信息怎么丢失了?

标签: java google-drive-api google-api-client


【解决方案1】:

这可能是因为通过在文件中进一步指定一个字节范围,您会跳过文件的整个标题,这会导致数据块出现乱码。

【讨论】:

  • 但是,为什么文件的大小是正确的?你能详细说明一下吗?你能提供任何示例代码以便我得到输出吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-19
  • 1970-01-01
  • 2020-08-03
  • 2021-04-05
  • 2018-07-21
  • 1970-01-01
相关资源
最近更新 更多