iOS : 如何将 URL 中的图像上传到 Parse?
iOS : How to upload an image from a URL to Parse?
我可以使用他们可用的方法上传图像(以 PFFile
的形式)。
NSData *data = ... ;
PFFile *file = [PFFile fileWithData:data];
[file saveInBackground];
有没有更好的方法直接从url上传图片进行解析?
更新:我发现的不好的方法是,
从 NSURL
到 NSData
获取图像 - 不知道正确的方法,但这是有效的。像这样,
PFFile *file = [PFFile fileWithData:[NSData dataWithContentsOfURL:urlObj]];
[file saveInBackground];
我认为问题是如何最好地获取要传递给解析的数据。你说得对,dataWithContentsOfUrl
是一种糟糕的方法,因为它会在获取期间阻塞主线程。
这是一种基于块的异步获取数据的方法:
NSURL *url = [NSURL URLWithString:@"http:// ..."];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (!error) {
PFFile *file = [PFFile fileWithData:data];
[file saveInBackground];
}
}];
我可以使用他们可用的方法上传图像(以 PFFile
的形式)。
NSData *data = ... ;
PFFile *file = [PFFile fileWithData:data];
[file saveInBackground];
有没有更好的方法直接从url上传图片进行解析?
更新:我发现的不好的方法是,
从 NSURL
到 NSData
获取图像 - 不知道正确的方法,但这是有效的。像这样,
PFFile *file = [PFFile fileWithData:[NSData dataWithContentsOfURL:urlObj]];
[file saveInBackground];
我认为问题是如何最好地获取要传递给解析的数据。你说得对,dataWithContentsOfUrl
是一种糟糕的方法,因为它会在获取期间阻塞主线程。
这是一种基于块的异步获取数据的方法:
NSURL *url = [NSURL URLWithString:@"http:// ..."];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (!error) {
PFFile *file = [PFFile fileWithData:data];
[file saveInBackground];
}
}];