下载并保存可以为空的图像
我正在使用NSURLConnection从web下载并保存雷达图像(.gif格式)。在connectionDidFinishLoading:方法中,我使用[UIImage imageWithData:]创建一个图像。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// Problem is here. mutableData declared earlier.
UIImage *baseImage = [UIImage imageWithData:mutableData];
if (baseImage)
{
// do stuff with image
}
[mutableData release];
}
问题是我下载的图像有时是空白的,背景清晰。这不是图像中的错误(有时雷达上没有任何东西可以返回)。但是当发生这种情况时,我在控制台中收到此错误。当图像具有非常少量的像素(1或2)时,也会发生错误。
Error: ImageIO: malformed GIF frame#0 (600 x 550)
发生错误时,创建的图像为零。 600x550是我正在下载的图像的px大小。因此返回的图像为nil,这使得它看起来像下载失败了。
值得注意的是,baseImage可能在2种情况下失败,上面提到的那种情况,或者当我下载服务器上列出的实际上还没有的映像时。在第二种情况下,mutableData包含一个错误字符串。我仍然需要第二种情况失败所以我知道图像没有成功下载。
在这种情况下我需要做的是实际创建空白图像并保存它,以便用户能够看到下载正确执行。
有任何想法吗?
谢谢,
罗斯
没有找到相关结果
已邀请:
2 个回复
蕉衫
我担心我在控制台和有效的UIImage对象中没有错误:( 我想你可以检测到字符串的存在= - 即NSSTring stringWithData:encoding: - 如果它是一个有效的字符串而且图像是nil你可能会认为这是一条错误信息?
唤副埂侧壬