我正在使用 Cloud Files API 和这个项目实现一个虚拟驱动器。但是,下载会停留在大于 4Gb 的文件上。进度停止,并且永远不会再次调用 TransferDataAsync(),即使文件中还有更多字节。
问问题
43 次
1 回答
4
您需要将可选长度添加到段长度:
public async Task TransferDataAsync(long offset, long length,
ITransferDataOperationContext operationContext, ITransferDataResultContext resultContext)
{
if (operationContext.FileSize > 0x100000000)
{
length += operationContext.OptionalLength;
}
…
}
根据我的经验,这会稍微减慢小文件的下载速度。因此,仅对超过 4Gb 的文件执行此操作才有意义。
于 2021-05-05T06:05:24.143 回答