如何解决如何克服基于 Cloud Sync Engine 的虚拟驱动器中文件下载的 4Gb 限制?
我正在使用 Cloud Files API 和 this project 实现虚拟驱动器。但是,下载会停留在大于 4Gb 的文件上。进度停止并且 TransferDataAsync() 不再被调用,即使文件中还有更多字节。
解决方法
您需要在段长度中添加可选长度:
public async Task TransferDataAsync(long offset,long length,ITransferDataOperationContext operationContext,ITransferDataResultContext resultContext)
{
if (operationContext.FileSize > 0x100000000)
{
length += operationContext.OptionalLength;
}
…
}
根据我的经验,这会在一定程度上减慢小文件的下载速度。因此,仅对超过 4Gb 的文件执行此操作是有意义的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。