viggio24 делает хорошую мысль.Но, кроме того, этот код кажется невероятно сложным, чтобы сделать что-то невероятно простое.Почему вы загружаете данные, затем превращаете их в изображение, просто превращаете обратно в данные и, наконец, записываете?А потом вы прочитаете это снова и создадите новый образ?Почему бы просто не скачать файл на диск и не прочитать его?UIImage
сделает всю работу по управлению PNG и JPEG для вас.Что-то вроде:
+(void)downloadImage:(NSString*)imagePath {
if ([imagePath isEqualToString:@""])
return;
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[@"http://110.234.132.132/MBCMcAdmin/uploads" stringByAppendingPathComponent:imagePath]]];
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
[data writeToFile:[docDir stringByAppendingPathComponent:imagePath] atomically:YES];
}
В большинстве случаев это все еще ужасная идея, поскольку она блокирует вызывающий поток.Лучше сделать это с NSURLDownload
, который сделает все это в фоновом режиме и сообщит вам, когда это будет сделано.
Я бы упростил код, а затем следовал бы комментариям viggio24, чтобы убедиться, что вы ошиблисьпроверь это.Возможно, вы просто неправильно читаете файл или не можете его записать.