如何可靠获取OneDrive目录路径以支持用户向该目录写入文件
该方案的明显疏漏如下
- 路径获取逻辑不可靠
遍历快速访问取OneDrive路径的方式容错性极低:快速访问的条目支持用户自定义重命名、删除,一旦用户修改了OneDrive条目属性,你的路径获取逻辑会直接失效。哪怕改用读取OneDrive环境变量的方案,也要注意多账号场景:如果用户同时登录个人OneDrive和OneDrive for Business,系统会同时存在OneDrive(对应个人版)、OneDriveCommercial(对应商业版)两个环境变量,仅读取单个变量很可能匹配不到用户实际想用的同步目录。 - 同步状态不可控
你无法感知OneDrive客户端的运行状态:如果用户未登录OneDrive、手动暂停了同步、当前网络断开,文件存入本地目录后完全不会同步到云端,“保存到云端”的功能实际失效,你也没法给用户准确的状态提示。就算OneDrive处于正常运行状态,同步也存在延迟,此时直接给用户返回“已保存到云端”的提示,很可能出现用户关机、断网后文件未实际上传的情况,和用户的预期不符。 - 权限兼容问题多
企业场景下的OneDrive for Business通常会做权限限制:部分企业会禁止第三方应用写入同步目录,或是开启文件敏感度标签校验,直接写入的文件可能会被系统拦截,或是同步到云端后被标记为受限访问,用户本人都无法正常打开。 - 特殊功能适配不足
若用户开启了OneDrive的“文件按需同步”功能,本地目录内的文件默认是占位符状态,写入时如果没有适配相关系统API,可能出现写入失败、或是文件被强制标记为始终脱机占用用户本地存储空间的问题。另外如果你默认写入到OneDrive根目录,很容易打乱用户自己的文件分类,若用户的OneDrive同步配额有限,大文件写入还可能占满配额,导致用户自有文件同步失败。
内容的提问来源于stack exchange,提问作者bobwki
相关产品推荐
相关产品推荐

