[英]Saving file with a specific name in Documents directory is failing in iPhone
I am using following code to save a file in iPhone Documents directory 我正在使用以下代码将文件保存在iPhone文档目录中
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *mediaFile = [documentsPath stringByAppendingPathComponent:[message getMediaName]];
NSString *filePath = [documentsPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@", mediaFile, IMAGE_EXTENSION]];
NSError *error = nil;
[data writeToFile:filePath options:NSDataWritingAtomic error:&error];
A sample of the filePath is filePath的示例是
/Users/Umar/Library/Developer/CoreSimulator/Devices/8B419461-4E18-4E2F-923D-01092CA2263C/data/Containers/Data/Application/AD869525-92F9-4C5A-8FCE-CF67F05F8CEA/Documents/Users/Umar/Library/Developer/CoreSimulator/Devices/8B419461-4E18-4E2F-923D-01092CA2263C/data/Containers/Data/Application/AD869525-92F9-4C5A-8FCE-CF67F05F8CEA/Documents/32286_1_44f74dc9d027d53bfa3e0bde9a28bf49.jpg /用户/ Umar /图书馆/开发人员/ CoreSimulator /设备/ 8B419461-4E18-4E2F-923D-01092CA2263C /数据/容器/数据/应用程序/ AD869525-92F9-4C5A-8FCE-CF67F05F8CEA /文档/用户/ Umar /图书馆/开发人员/CoreSimulator/Devices/8B419461-4E18-4E2F-923D-01092CA2263C/data/Container/Data/Application/AD869525-92F9-4C5A-8FCE-CF67F05F8CEA/Documents/32286_1_44f74dc9d027d53bfa3e0bde9a28bf49.jpg
The path upto documents do exist and I have checked via Finder. 到文档的路径确实存在,并且我已经通过Finder检查了。 Not sure Why i am getting error Error Domain=NSCocoaErrorDomain Code=4 "The folder “32286_1_44f74dc9d027d53bfa3e0bde9a28bf49.jpg” doesn't exist."
不确定为什么我会收到错误Error Domain=NSCocoaErrorDomain Code=4 "The folder “32286_1_44f74dc9d027d53bfa3e0bde9a28bf49.jpg” doesn't exist."
The problem is in this two lines 问题出在这两行
NSString *mediaFile = [documentsPath stringByAppendingPathComponent:[message getMediaName]];
NSString *filePath = [documentsPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@", mediaFile, IMAGE_EXTENSION]];
Output of mediaFile
is mediaFile
输出是
/Users/Umar/Library/Developer/CoreSimulator/Devices/8B419461-4E18-4E2F-923D-01092CA2263C/data/Containers/Data/Application/AD869525-92F9-4C5A-8FCE-CF67F05F8CEA/Documents/32286_1_44f74dc9d027d53bfa3e0bde9a28bf49
Output of filePath
is combination of filePath
输出是以下各项的组合
documentPath
+ mediaFile
+ Image Extension
documentPath
+ mediaFile
+ Image Extension
So problem is that document path exist two times, that's why compiler have problem in finding path and returning error. 因此问题在于文档路径存在两次,这就是为什么编译器在查找路径和返回错误时会遇到问题。
I hope this will help you. 我希望这能帮到您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.