由于找不到文件,AWSS3TransferUtility uploadFile失败

时间:2016-01-05 18:31:26

标签: amazon-s3 ios9 file-transfer aws-sdk ios9.2

我正在运行Amazon AWSS3 iOS SDK版本2.3.2,并使用AWSS3TransferUtility成功实现了文件上传和下载。在过去几周的某些时候,我们开始经历失败。如果我尝试从我的文档目录中上传以前保存的文件:

/var/mobile/Containers/Data/Application/F505C2A6-3CA3-47F4-87A1-3FD2CFDE932D/Documents/1098/1098.png

uploadFile方法报告以下内容:

无法读取文件:///var/mobile/Containers/Data/Application/F505C2A6-3CA3-47F4-87A1-3FD2CFDE932D/Documents/1098/1098.png

如果我尝试使用uploadData方法而不是uploadFile,则会收到以下错误:

无法在file:/// private / var / mobile / Containers / Data / Application / 652CAEA4-9174-4408-AFFD-760B275FAB5B / tmp / ea3d80e0cfabcedbe25cc9403ef3bca5 / 84B78171-E4CA-4F02-9297-F30756657B14-4889-中读取文件00000AB32D416253.tmp

问题似乎在于uploadFile和uploadData方法正在寻找以“///”开头的文件。

我对此进行了研究,发现不久前发布了以下帖子,其中包括相同的情况:未能读取以前保存到文档目录中的文件。

Can't read saved file from documents directory

每次检索uploadData方法的文件数据或检索filelUpload方法的文件路径时,我都会按如下方式重新查询文档目录:

- (NSString*) getDocumentsDirectory {

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDirectory = [paths objectAtIndex:0];
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:docsDirectory];
if (!exists) {
    NSError *error;
    exists = [[NSFileManager defaultManager] createDirectoryAtPath:docsDirectory withIntermediateDirectories:YES attributes:nil error:&error];
    if (exists)
        return docsDirectory;
}
else {
    return docsDirectory;
}

return nil;

}

建议?

0 个答案:

没有答案