【问题标题】:iPad: ImageIO: <ERROR> JPEGNot a JPEG file: starts with 0xff 0xd9 [closed]iPad:ImageIO:<错误>JPEG不是JPEG文件:以0xff 0xd9开头[关闭]
【发布时间】:2011-12-31 16:24:16
【问题描述】:

我在问题标题中引用的错误消息让我在 iPad 上发疯了。

我正在从 HTTP 服务器下载一些 Jpeg 文件,并且使用我的代码在 iphone (iOS 5.0) 上运行良好。在我的 iPad (4.3) 上,它会提示此错误并且无法显示图像。

让我好奇的是我是如何修复它的,我不清楚!

所以我正在通过 NSURLConnection (conn) 和 NSMutableData (imageData) 下载 Jpeg:

conn = [[NSURLConnection alloc] 
       initWithRequest:[NSURLRequest requestWithURL:[camera getJpgUrl] 
                                        cachePolicy:NSURLRequestReloadIgnoringLocalCacheData 
                                    timeoutInterval:10] 
                       delegate:self 
                       startImmediately:YES];

if(conn && !imageData)
{
    imageData = [[NSMutableData data] retain];
}

委托方法是:

1) 获取更多数据

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [imageData appendData:data];
}

2) 拥有所有数据:

-(void)connectionDidFinishLoading:(NSURLConnection *)aConnection
{
    UIImage *img = [UIImage imageWithData:imageData];

    [imageData setLength:0];
    [conn release];
    conn = nil;

    if(img)
    {
        imageView.image=img;
    }
}

万岁 sais iphone,欢迎大喊图像。

然而,在 iPad 上,当我重新启动初始化 NSUrlConnection 的方法时,我必须释放 imageData-Object 而不是将其长度设置为 0。我重新启动它以进行图像更新等。

所以 iPad 中的代码是(总结一下):

-(void)connectionDidFinishLoading:(NSURLConnection *)aConnection
{
    UIImage *img = [UIImage imageWithData:imageData];

    [imageData release];
    imagedata = [[NSMutableData data] retain];
    conn release];
    conn = nil;

    if(img)
    {
        imageView.image=img;
    }
}

所以现在,我的代码中的 imageData 处理是测试的结果,所以我可以将其更改为具有移动优雅的处理。那没那么重要。

但让我想知道的是,为什么 setLength:0 在 ios5/iphone4 上做了它应该做的事情,但在 ipad 上却不行?我希望我只是搞砸了一些东西,但在这里我真的不明白发生了什么。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: ipad uiimage ios5 nsurlconnection nsdata


    【解决方案1】:

    好的,服务器有一些错误:/

    【讨论】:

      猜你喜欢
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多