我无法在iOS中保存和检索图像
我无法在iOS中保存和检索图像。我通过此代码获得零图像:我无法在iOS中保存和检索图像,ios,objective-c,uiimage,nsdocumentdirectory,nsdocumentdirectory-ios8,Ios,Objective C,Uiimage,Nsdocumentdirectory,Nsdocumentdirectory Ios8,我无法在iOS中保存和检索图像。我通过此代码获得零图像: -(NSString *)saveImageDataWithImage:(UIImage *)image { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];
-(NSString *)saveImageDataWithImage:(UIImage *)image
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *photoName = [NSString stringWithFormat:@"%ld.png",
(long)[[NSDate date] timeIntervalSince1970]];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:photoName];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:getImagePath])
{
NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
[data1 writeToFile:getImagePath atomically:YES];
}
return photoName;
}
-(UIImage *)GetImageFromPath:(NSString *)ImageName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:ImageName];
UIImage *thumbNail = [[UIImage alloc] initWithContentsOfFile:getImagePath];
return thumbNail;
}
为什么我得到零图像
请帮帮我。你的目录名似乎有误。请将
NSDocumentationDirectory
替换为NSDocumentationDirectory
,它应该可以工作。什么是“我不能”呢?你写了一些代码-失败了吗?你会错吗?也请。重新格式化代码以便于阅读问题。我已经编辑了您的问题以修复格式,但您需要包含更多细节,以便其他人能够帮助您。请看“”了解一些提示。对不起,我是新来的。事实上我在问这个密码行吗?我无法从图像路径UIImage*缩略图获取图像=[[UIImage alloc]initWithContentsOfFile:getImagePath],获得零图像。我不知道我缺少什么.试着调试一下。使用断点并查看documentsDirectory
和getImagePath
的值。查看应用程序的沙盒,看看您试图读取的位置是否真的有文件。documentDirectory:“/var/mobile/Containers/Data/Application/3F4B4215-11EB-4269-BA65-97DCC32ACAF6/Library/Documentation”和getImagePath:“/var/mobile/Containers/Data/Application/3f4b42215-11EB-4269-BA65-97DCC32ACAF6/Library/Documentation/1442405926.png”保存图像时获取和getImagePath:“/var/mobile/Containers/Data/Application/3F4B4215-11EB-4269-BA65-97DCC32ACAF6/Library/Documentation/1442400637.png”检索图像时获取,但initWithContentsOfFile:返回零图像。是的,我从@DipenPanchasara那里得到了主意,谢谢回复:)。
-(NSString *)saveImageDataWithImage:(UIImage *)image
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory ,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *photoName = [NSString stringWithFormat:@"%ld.png",
(long)[[NSDate date] timeIntervalSince1970]];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:photoName];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:getImagePath])
{
NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
[data1 writeToFile:getImagePath atomically:YES];
}
return photoName;
}
-(UIImage *)GetImageFromPath:(NSString *)ImageName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory ,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:ImageName];
UIImage *thumbNail = [[UIImage alloc] initWithContentsOfFile:getImagePath];
return thumbNail;
}