为啥我的图像无法写入文件并显示?

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];

【讨论】:

是的,这家伙搞定了。

以上是关于为啥我的图像无法写入文件并显示?的主要内容,如果未能解决你的问题,请参考以下文章

我的电脑为啥不能安装软件?提示是无法写入文件和无法提取以有效文件

为啥我的网站没有加载,而是出现此错误 - “Smarty:无法写入文件”?

JAVA write为啥无法写入数据?

为啥我的追加功能不再写入文件

为啥 AJAX 里写入的 cookie 无法显示出来

为什么QDBMP无法写入128 * 128图像?