在iOS 6中无法从文档库访问图像?
我必须在iOS 6中访问文档库中的图像在iOS 6中无法从文档库访问图像?,ios,Ios,我必须在iOS 6中访问文档库中的图像 strImgSign = [NSString stringWithFormat:@"%@/Documents//%@", NSHomeDirectory(),strImgSign]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *basePath = ([paths count]
strImgSign = [NSString stringWithFormat:@"%@/Documents//%@", NSHomeDirectory(),strImgSign];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
NSString *strImgSign = [[arrNameFinal objectAtIndex:indexPath.row] objectForKey:@"signimage"];
/var/mobile/Applications/D912ACC0-5B23-49B2-B9F1-E45ECD713553/Documents//docSign6167Feb13,2015-12.03.26.png
但iOS 7,8中的图像访问功能非常有效。在您的路径中有一个额外的/
strImgSign = [NSString stringWithFormat:@"%@/Documents//%@", NSHomeDirectory(),strImgSign];
改为:
strImgSign = [NSString stringWithFormat:@"%@/Documents/%@", NSHomeDirectory(),strImgSign];
但正如@rckoenes所提到的,这不是构建文件系统路径的正确方法。如果图像位于文档目录中,则可以使用:
NSString *docDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *yourImagePath = [docDirectory stringByAppendingPathComponent:strImgSign];
但是我不确定它在iOS 7和iOS 8中是如何工作的您不应该从NSHoneDirectory构建目录或在字符串中使用路径分隔符 建立目录的正确方法:
NSString *imagePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
imagePath = [imagePath stringByAppendingPathComponent:strImgSign];
但更好、唯一正确的方法是使用正确的目录:
NSString *documentPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *imagePath = [documentPath stringByAppendingPathComponent:strImgSign];
NSString*文件名=[filepart lastObject]; NSArray*path=nsSearchPathForDirectoriesIndomainsDocumentDirectory,NSUserDomainMask,是; NSString documentsDirectory=[paths objectAtIndex:0]; NSString inboxPath=[DocumentsDirectoryStringByAppendingPathComponent:@Inbox];
NSString*filePath=[inboxPath stringByAppendingPathComponent:filename] 如果确实不想像这样构建路径,请使用stringByAppendingPathComponent:。您不应该使用正确的方法来获取文档目录。@rckoenes:我刚才使用了OP的代码。我将用正确的方法编辑我的答案。不起作用,但我必须使用@docsign6167feb132015-12.03.26.png它起作用,但NSString*strImgSign=[[arrNameFinal objectAtIndex:indexath.row]objectForKey:@signimage]不起作用。你说不起作用是什么意思?获取文档目录路径的代码是正确的。stringByAppendingPathComponent:是将文件添加到路径的正确方法。我的答案中的代码是正确的,请列出imagePath变量的输出。发布您的代码、错误以及其他错误。仅仅说它不起作用并不能告诉我们任何事情。如果您需要帮助,您需要告诉我您正在做什么,出了什么问题,以及您做了什么来修复它。iOS 6中的问题是: