如何从路径获取图像

时间:2016-05-27 08:33:02

标签: objective-c

我使用afnetworking下载了图片并保存了名称[response suggestedFilename];我无法从路径中获取图像。

以下是下载方法:

- (void)startDownload:(OMImageTableViewCell *)cell {

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];

NSURL *url = [NSURL URLWithString:[_arrayImages objectAtIndex:cell.download.tag]];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];

[cell.imagePic setImageWithURLRequest:request placeholderImage:cell.imagePic.image success:nil failure:nil];

NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {

    dispatch_async(dispatch_get_main_queue(), ^{
        [cell.progressDownload setProgress:downloadProgress.fractionCompleted];
    });

}  destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {

    _documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
    return [_documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]];

} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
    NSData *data = [NSData dataWithContentsOfURL:filePath];
    dispatch_async(dispatch_get_main_queue(), ^{
        cell.imagePic.image = [UIImage imageWithData:data];
    });

    NSLog(@"File downloaded to: %@", filePath);
}];
[downloadTask resume];

}

1 个答案:

答案 0 :(得分:0)

试试这个:

NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isFileExist = [fileManager fileExistsAtPath: filePath];
UIImage *image;
if (isFileExist) {
    image = [[UIImage alloc] initWithContentsOfFile:filePath];
}
else {
    // do something.
}