Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OneDrive iOS SDK,文件ID随时更改_Ios_Sqlite_Sdk_Onedrive - Fatal编程技术网

OneDrive iOS SDK,文件ID随时更改

OneDrive iOS SDK,文件ID随时更改,ios,sqlite,sdk,onedrive,Ios,Sqlite,Sdk,Onedrive,在我的应用程序中,我为用户提供了将其数据上传到OneDrive的选项。 我将sqlite文件上载到onedrive (void) uploadFile { NSString *localDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; NSString *localPath = [localDir stringByAppendingPathCompon

在我的应用程序中,我为用户提供了将其数据上传到OneDrive的选项。 我将sqlite文件上载到onedrive

(void) uploadFile
{
    NSString *localDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
    NSString *localPath = [localDir stringByAppendingPathComponent:@"Up_Date.sqlite"];
    NSData *fileToUpload = [NSData dataWithContentsOfFile:localPath options:NSDataReadingUncached error:nil];
    [self.liveClient uploadToPath:@"folder.37153326d9bb21f1.37153326D9BB21F1!2286" fileName:@"Up_Date.sqlite" data:fileToUpload overwrite:0 delegate:self userState:@"upload-sql"];
}
然后用户可以随时恢复其数据。我将sqlite文件下载回来

(void) downloadFile
{
    [self.liveClient downloadFromPath:@"file.37153326d9bb21f1.37153326D9BB21F1!2287/content?download=true"                                                                        delegate:self userState:@"download-sql"];
}
问题是我找不到使用文件名上传和下载的方法。我必须使用文件ID。但是每次上传文件时ID都会更改

这段代码在第一次运行时就可以工作,但是如果用户想再次备份数据,OneDrive上的sqlite文件的id会发生变化,从而阻止我在需要时下载它


有没有办法使用文件名下载?我遗漏了什么吗?

当您将文件上载到OneDrive时,如果存在名称冲突,服务会自动重命名新上载的文件流,这将创建一个全新的文件

我相信您希望使用
overwrite=true
选项为

这应该允许您跟踪您知道的文件,而不必不断地在OneDrive上重新引用该文件

谢谢:)覆盖成功了。。。我已经被困好几天了。。。谢谢你的帮助