2014-06-12 78 views
1

我想加載一串url,它是一個圖像的直接鏈接。問題是一些圖像不存在,我想在我嘗試加載它之前檢查它是否存在。我使用的AFNetworking和我使用的功能似乎加載所有的圖像,並有很長的延遲。有沒有辦法只批量檢查404的所有網址,而不嘗試下載圖像?如何檢查圖像是否存在在url

+0

如果圖像不存在,那麼URL也會來自webservice ..? – Vidhyanand

+1

[查找URL是否有效並存在?]可能的重複(http://stackoverflow.com/questions/15128237/finding-whether-a-url-is-valid-and-does-it-exists) –

+0

'HEAD'請求方法只給你一個響應,只有頭部和沒有主體。因爲你只是想檢查狀態,那我猜就足夠了。我無法分辨,但是如果您可以使用您正在使用的工具發出「HEAD」請求......但這絕對值得期待。請注意,如果域名無誤,這隻會很快。如果不是,那麼即使由於DNS查找超時更高而失敗,請求也會花費更長的時間。 (如果網絡速度很慢,肯定會有一些延遲......) –

回答

0

在查看答案後,查看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); 
    }]; 
0

檢查網址是否經過spaces.and修剪空間從url。 使用此圖像url stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]