【问题标题】:How to check if image exists at url如何检查图片是否存在于url
【发布时间】:2014-06-12 11:57:19
【问题描述】:

我正在尝试加载一组直接链接到图像的 url。问题是某些图像不存在,我想在尝试加载它之前检查它是否存在。我正在使用 AFNetworking 并且我使用的功能似乎加载了所有图像并且有很长的延迟。有没有办法在不尝试下载图像的情况下批量检查 404 的所有 url?

【问题讨论】:

  • 如果图片不存在那么 URL 也将来自 webservice..?
  • HEAD 请求方法让您得到一个只有标头而没有正文的响应。因为您只想检查状态,所以我想这就足够了。我不知道您是否可以使用您正在使用的工具发出HEAD 请求……但这绝对值得一看。请注意,这只有在域正常时才能快速工作。如果不是,那么即使由于更高的 DNS 查找超时而失败,请求也会花费更长的时间。 (如果网络很慢,必须有一些延迟......)

标签: ios objective-c


【解决方案1】:

查看答案后,这里是使用 AFNetworking 设置它的答案。非常适合我。

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:obj[@"product_thumb"][0][@"image_url"]]];
    [request setHTTPMethod:@"HEAD"];

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        //NSLog(@"Response: %@", responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //NSLog(@"Image error: %@", error);
    }];

【讨论】:

    【解决方案2】:

    检查 url 是否与空格一起传递。并从 url 中修剪空格。 将此用于您的图片网址 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 2016-09-30
      • 2011-05-04
      相关资源
      最近更新 更多