我通过 HTTP 下载图像时收到此错误。我看过在这里回答但即使有效的图像也不会返回YES
从函数。
还有其他想法吗?
获取图像的代码很简单。这发生在后台线程中。
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;
}
使用无符号字符。然后比较应该有效。
const unsigned char * bytes = (const unsigned char *)[jpeg bytes];
代替
const char * bytes = (const char *)[jpeg bytes];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)