我正在尝试使用Live SDK将文件上传到SkyDrive。除了覆盖现有文件外,它运行良好。每当我尝试覆盖现有文件时,我都会收到错误消息"资源file_name已存在",尽管我使用"覆盖"选项:
_liveClient.UploadAsync(
FolderId,
Filename,
MemoryStream,
OverwriteOption.Overwrite);
还有什么需要设置的吗?我可以尝试通过删除文件并再次上传来处理错误,但这显然不是最干净的方法。
Microsoft在这里承认这是一个他们知道的错误。它将在下一个版本中修复。此外,根据该链接中的答案,重载方法工作正常:
_liveClient.UploadAsync(
FolderId,
Filename,
MemoryStream,
OverwriteOption.Overwrite,
null);
当您上载的文件,并且具有相同名称的文件已存在于 SkyDrive 中的同一位置时,默认行为是 SkyDrive 覆盖现有文件。不需要指定"覆盖选项"。
从我的角度来看,还有一个问题。尝试使用另一个文件夹并显示更多代码。