【问题标题】:.NET Dropbox API download large file in chunks.NET Dropbox API 分块下载大文件
【发布时间】:2017-11-12 23:40:20
【问题描述】:

我需要从 Dropbox 下载每个大小超过 100GB 的大文件。我正在为此使用 Dropbox .NET API。

要分块做类似的事情,我调用GetContentAsStream 方法如下:

var response = await client.Files.DownloadAsync(filePath);
using (var stream = await response.GetContentAsStreamAsync())
{
    var length = await stream.ReadAsync(buffer, 0, bufferSize, token);

    // Append to local file.
}

大约 5GB 后出现错误:Unable to read data from the transport connection: The connection was closed.

是否有任何明确的方式来下载指定偏移量和字节数的 Dropbox 文件块?这样我就可以从我需要的位置重试或继续。

【问题讨论】:

    标签: c# .net dropbox-api


    【解决方案1】:

    API v2 /2/files/download HTTPS 端点本身确实支持“范围检索请求”,但遗憾的是,目前 Dropbox .NET SDK 中尚未实现。我会将此作为功能请求发送,但我不能保证是否/何时会在那里实现。

    在这种情况下,您可以在 SDK 之外直接实现 HTTPS 调用,因此您可以设置所需的 Range 标头。

    【讨论】:

    • 我在 Postman 中使用了下载 API。范围检索请求似乎工作得很好。将重写我的代码。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    相关资源
    最近更新 更多