来自foursquare的图像是NSURLErrorFileDoesNotExists = -1100



我正在尝试从foursquare(来自使用场地api)下载图像,并且不断收到NSURLErrorFileDoesNotExists = -1100,尝试抓取图像的错误。

imageUrl = [NSURL URLWithString: [NSString stringWithFormat:
                                  [@"https://irs0.4sqi.net/img/general/720x400/1203715_jAVNrPE87IFuOUa69i1q5UXQ0bUAfjG8V-R_hBUL09c.jpg" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
//[cell.venueImageView sd_setImageWithURL:imageUrl placeholderImage:nil];
typeof(WHMDateListTableViewCell *) __weak weakCell = cell;
[cell.venueImageView sd_setImageWithURL:imageUrl placeholderImage:[UIImage imageNamed:@"create-profile-step-4-pic-box-reg"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
    weakCell.venueImageView.image = image;
}];

图片网址在 Chrome 中加载正常。 我还从其他网络网址中提取了其他图像,它工作正常。

问题是 API 使用 https 方案返回图像。 一旦我将返回的 URL 操作为 http,而不是 https,我就能够正确下载图像以进行 imageview 显示。

//setup Venue
NSURL *imageUrl;
imageUrl = [NSURL URLWithString:self.selectedDate.Venue.Media[indexPath.item]];
NSURLComponents *components = [NSURLComponents new];
components.scheme = @"http";
components.host = imageUrl.host;
components.path = imageUrl.path;
NSURL *url = [components URL];

[cell.photoImageView sd_setImageWithURL:url placeholderImage:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
    ;
}];

相关内容

  • 没有找到相关文章

最新更新