针对云驱动器的文件 readallbytes 有时会引发云操作无效

问题描述

在 w10 上使用带有 c# 和 vs2019 Enterprise 的 .net core 5.0.1 控制台应用程序。我正在编写一个应用程序,它使用 file.readallbytes 从 icloud/iphoto 驱动器中复制照片并将其写入外部驱动器。这是针对未水合的文件,访问时会触发 Windows 的“自动文件下载”。

通常这工作得很好,除非我收到“云操作无效”或“云操作失败”的随机错误并超时。如果我重新启动应用程序,它有时会起作用,有时则不会。如果我最终重新启动它,它将始终通过文件并工作。有谁知道为什么会这样?

这是我正在使用的代码。我在代码本身中添加了一些异常和重试逻辑

                    do
                    {
                        try
                        {
                            localfilebytes = File.ReadAllBytes(fullsourcefilename);        // this should force the cloud provider to send it over.
                            success = true;
                        }
                        catch (Exception ex1)
                        {
                            Console.WriteLine("Failed with :" + ex1.Message);
                            retries--;
                        }
                    } while (!success && (retries > 0));

                    byte[] hash = MD5.Create().ComputeHash(localfilebytes);     // this will throw an exception if not set which is fine.

这种情况更常发生在非常大的文件(100megs+)上,但有时也会发生在普通文件或小文件上。

为什么我会收到此错误以及如何防止它?我应该使用 Windows 中的另一个云 API 来复制这些文件吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...