9
HTTPで画像をダウンロードするとこのエラーが発生します。私はanswer hereを見ましたが、有効な画像でさえも、関数からYES
が返されません。ImageIO:<ERROR> JPEG壊れたJPEGデータ:データセグメントの早すぎる部分iphone - これをどのように捕まえるのですか?
他のアイデアはありますか?
画像を取得するためのコードは十分に簡単です。これはバックグラウンドスレッドで発生します。
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
UIImage *image = [UIImage imageWithData:data];
これは、そのスレッドからの関数である。
- (BOOL)isJPEGValid:(NSData *)jpeg {
if ([jpeg length] < 4) return NO;
const char * bytes = (const char *)[jpeg bytes];
if (bytes[0] != 0xFF || bytes[1] != 0xD8) return NO;
if (bytes[[jpeg length] - 2] != 0xFF ||
bytes[[jpeg length] - 1] != 0xD9) return NO;
return YES;
}
+1、SIGIをありがとう! – Jean
これはうまくいくようです。ありがとう! – jmosesman
それでも、エラー::ImageIO:JPEGが破損しています。JPEGデータが破損しています:データセグメントの時期尚早です。 :( –