为啥我的图像无法写入文件并显示?
Posted
技术标签:
【中文标题】为啥我的图像无法写入文件并显示?【英文标题】:Why does my image fail to write to file and display?为什么我的图像无法写入文件并显示? 【发布时间】:2015-04-08 10:35:30 【问题描述】:我想同时下载、保存和显示图像。
我正在使用此代码,当我直接加载 *image 时它确实有效。
[self.imageView setImageWithURLRequest:request placeholderImage:nil
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
// Set the image
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Image.png"];
// Save image.
[UIImagePNGRepresentation(image) writeToFile:filePath atomically:YES];
UIImage * imag2e = [UIImage imageNamed: @"Image"];
weakSelf.imageView.image = imag2e;
[self updateZoom];
[self updateConstraints];
[MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error)
NSLog(@"An error occured when loading the image, %@", [error description]);
[MBProgressHUD hideHUDForView:weakSelf.view animated:YES];
];
【问题讨论】:
什么不完全有效?写作?正在加载?显示图像?你的块在后台吗?如果是这种情况,您只能在主线程中更新 UI。 看来您正在使用 AFNeworking 有可能第二次从缓存中加载您的图像,我不记得是否调用了成功块。 ***.com/questions/2499176/… 【参考方案1】:我认为错误就行了:
UIImage * imag2e = [UIImage imageNamed: @"Image"];
在+[UIImage imageNamed:] 的文档中指出:
如果这是第一次加载图像,该方法会在应用程序的主包中查找具有指定名称的图像。
并且保存的图像位于其他位置。例如。试试:
UIImage * imag2e = [UIImage imageWithContentsOfFile: filePath];
【讨论】:
是的,这家伙搞定了。以上是关于为啥我的图像无法写入文件并显示?的主要内容,如果未能解决你的问题,请参考以下文章
我的电脑为啥不能安装软件?提示是无法写入文件和无法提取以有效文件