¿Cómo get el tamaño del file con url?

En mi aplicación de iPhone, necesito get el tamaño del file, pero solo tengo una url.

Si tengo la ruta del file, puedo get un tamaño como este:

NSDictionary* attributeDict = [[NSFileManager defaultManager] attributesOfItemAtPath:resourcePath error:nil]; NSNumber* fileSizeObj = [attributeDict objectForKey:NSFileSize]; long long fileSizeVal = [fileSizeObj longLongValue]; 

¿Cómo puedo get correctamente el tamaño del file si tengo una url?

Use NSURLConnection con la request Head , la respuesta habrá esperado NSURLConnection :

Solicitud

 NSMutableURLRequest * req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png"]]; [req setHTTPMethod:@"Head"]; NSURLConnection * con = [[NSURLConnection alloc] initWithRequest:req delegate:self]; [con start]; [con release]; 

Delegar

 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { NSLog(@"didReceiveResponse (%lld)", response.expectedContentLength); } 

Tenga en count que podría ser negativo:

 #define NSURLResponseUnknownLength ((long long)-1) 

Para NSURLSession , utilice methods de fábrica de tareas que acepten los parameters NSURLRequest como parameters, por ejemplo - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler: