【发布时间】:2015-12-12 22:39:20
【问题描述】:
我无法在 iOS 中保存和检索图像。我通过这段代码得到了 nil 图像:
-(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;
}
为什么我得到零图像?
请帮帮我。
【问题讨论】:
-
“我不能”是什么意思?你写了一些代码——它失败了吗?你能错误消息吗?也请。重新格式化代码以使 q 更易于阅读。
-
我已经编辑了您的问题以修复格式,但您需要包含更多细节以允许其他人帮助您。查看“How do I ask a good question?”获取一些提示。
-
对不起,我是新来的。其实我是在问这个代码好吗?我无法从图像路径 UIImage *thumbNail = [[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 /3F4B4215-11EB-4269-BA65-97DCC32ACAF6/Library/Documentation/1442405926.png“在我保存图像和getImagePath时获取:”/var/mobile/Containers/Data/Application/3F4B4215-11EB-4269-BA65-97DCC32ACAF6/ Library/Documentation/1442400637.png" 在检索图像时获取但 initWithContentsOfFile: 返回 nil 图像。
标签: ios objective-c uiimage nsdocumentdirectory nsdocumentdirectory-ios8