0
是否有可能从Facebook个人资料图片检索图片文件的名称?返回Facebook的个人资料图片
我想要做的是:当用户登录时,我将检索用户的个人资料图片,然后将其保存在文件中。但是,我想要经常检查用户是否更新了Facebook上的图片,如果是,请将其保存在文件中。
是否有可能获得文件的名称,因此我可以比较它们?
这里是我用它来下载图片代码:
NSString *urlString = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?width=100&height=100",[[PFUser currentUser] objectForKey:@"fbId"]];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:urlRequest];
requestOperation.responseSerializer = [AFImageResponseSerializer serializer];
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject){
profilePicture = [UIImage imageWithData: operation.responseData];
NSDictionary<FBGraphUser> *me = (NSDictionary<FBGraphUser> *)responseObject;
NSLog(@"ResponseObject %@", me.username);
NSLog(@"Profile Image %@",profilePicture);
[self saveImageOnDisk:profilePicture];
}];
所以......我甚而不需要保存在磁盘上?事情是,我有一个UINavigationController中的多个视图。如果我每次都要求显示图像,则会延迟显示。不是吗? – Camus
如果Facebook表示,该图像是有效的,比方说,2小时,并且不需要重新验证,会出现完全没有延迟。系统的缓存将在没有网络访问的情况下给您。如果Facebook表示应该重新验证,系统将执行条件获取。 – quellish
我试过了,看起来确实非常快。我正在使用基于NSURL类的“AFNetworking”。有什么方法可以检查数据是来自缓存还是请求?问候 – Camus