繁体   English   中英

如何克服基于 Cloud Sync Engine 的虚拟驱动器中文件下载的 4Gb 限制?

[英]How to overcome 4Gb limitation on file download in virtual drive based on Cloud Sync Engine?

我正在使用 Cloud Files API 和这个项目实现一个虚拟驱动器。 但是,下载会停留在大于 4Gb 的文件上。 进度停止,并且永远不会再次调用 TransferDataAsync(),即使文件中还有更多字节。

您需要将可选长度添加到段长度:

public async Task TransferDataAsync(long offset, long length,
    ITransferDataOperationContext operationContext, ITransferDataResultContext resultContext)
{
    if (operationContext.FileSize > 0x100000000)
    {
        length += operationContext.OptionalLength;
    }
    …
}

根据我的经验,这会稍微减慢小文件的下载速度。 因此,仅对超过 4Gb 的文件执行此操作才有意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM