iPhone iOS получает уменьшенное изображение от Vimeo: как превратить ответ в изображение? - PullRequest
0 голосов
/ 19 марта 2012

Я пытаюсь получить миниатюры видео от Vimeo, но по какой-то причине не могу превратить возвращенные NSData в UIImage. Вот мой код Как мне превратить NSData типа text/html; charset=UTF-8 в 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 возвращает не найденную страницу , а при вводе этого в браузер возвращает изображение: /

Ответы [ 2 ]

0 голосов
/ 21 марта 2012

Я выяснил ответ:

r = [[RKClient sharedClient] get:v.thumbnail delegate:self];

предшествовал пути по умолчанию, который устанавливается при инициализации клиента перед запросом, создавая http: // ... http: // ... как путь, который сервер не распознал, отвечая сообщением об отсутствии.

0 голосов
/ 19 марта 2012

Хотя я не могу помочь вам с основным вопросом, я могу уточнить для вас, на случай, если вы не знали, что NSData - это просто буфер байтов, поэтому для использования нужного вам сообщения [UIImage imageWithData:]NSData содержит правильный файл изображения (jpg, png и т. Д.).

Если ваш ответ - не чистое изображение, а что-то еще, вам потребуется проанализировать NSData для извлечения необходимых данных изображения.

Надеюсь, это поставит вас на правильный путь.

...