9
Recibo este error descargando una imagen por HTTP. He consultado answer here pero incluso las imágenes válidas no devuelven YES
de la función.ImageIO: <ERROR> JPEG Datos JPEG corruptos: final prematuro del segmento de datos iphone: cómo detectar esto?
¿Alguna otra idea?
El código para obtener la imagen es bastante simple. Esto sucede en un hilo de fondo.
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
UIImage *image = [UIImage imageWithData:data];
Esta es la función de ese hilo:
- (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 gracias, Sigi! – Jean
Sí, parece que esto funciona. ¡Gracias! – jmosesman
Todavía muestra el error:: ImageIO: JPEG Datos JPEG corruptos: final prematuro del segmento de datos. :( –