synchronization - 如何克服基于云同步引擎的虚拟驱动器中文件下载的 4Gb 限制?

标签 synchronization virtualfilesystem virtual-drive

我正在使用 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 的文件执行此操作是有意义的。

关于synchronization - 如何克服基于云同步引擎的虚拟驱动器中文件下载的 4Gb 限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67381453/

相关文章:

c - 为什么 __sync_add_and_fetch 在 32 位系统上对 64 位变量起作用?

mysql - 集群 mysql 服务器在 cnx 丢失后重新同步

java - 操作不同数组(对象数组)索引时是否需要同步

winapi - 云文件 API 中的删除在 Windows 21H1 上停止工作

android-studio - Android构建错误: Unable to load 'javax. xml.bind.jaxbexception

c++ - Windows 下使用 C/C++ 的虚拟文件系统

c++ - PhysicsFS 是平台独立的吗?

python - 如何使用 pyscript 加载 zip 文件并保存到虚拟文件系统中

filesystems - macFuse 在 Mac OS 11+ 上需要恢复模式