【发布时间】:2012-04-04 06:29:02
【问题描述】:
我正在尝试从 Vimeo 获取视频缩略图,但由于某种原因,我无法将返回的 NSData 转换为 UIImage。这是我的代码。如何将text/html; charset=UTF-8 类型的NSData 变成UIImage?
-(void)getThumbnails
{
int count = _videos.count;
Video* v = nil;
RKRequest* r = nil;
for( int i = 0; i<count; i++)
{
v = [_videos objectAtIndex:i];
r = [[RKClient sharedClient] get:v.thumbnail delegate:self];
GMGridViewCell* gridViewCell = [self GMGridView:_gmGridView cellForItemAtIndex:i];
//prints http://b.vimeocdn.com/ts/257/009/257009714_200.jpg
NSLog(@"thumbnail url: %@",v.thumbnail);
[r setUserData:gridViewCell];
}
}
回复如下:
-(void)requestQueue:(RKRequestQueue *)queue didLoadResponse:(RKResponse *)response
{
if([response.request.userData isKindOfClass:[GMGridViewCell class]])
{
//prints content type: text/html; charset=UTF-8
NSLog(@"content type: %@",response.contentType);
GMGridViewCell* cell = response.request.userData;
NSData* responseBody = response.body;
UIImage* image = [UIImage imageWithData:responseBody];
cell.imageView.image = image;
}
}
更新:
在将响应作为正文检查后,vimeo 似乎返回了一个未找到的页面,而在浏览器中输入该页面会返回一个图像:/
【问题讨论】:
标签: html objective-c ios thumbnails vimeo