ASIHttpRequest POST изображения - PullRequest
       36

ASIHttpRequest POST изображения

0 голосов
/ 09 октября 2011

Я использую ASIHttpRequest для пользователя POST и передаю URL, который выполняет код php. Этот код возвращает строку URL, но теперь также требуются изображения, чтобы показать ее после просмотра таблицы. Как сохранить изображения с этого URL на iphone с помощью ASIHttpRequest?

  - (void)getData
    {
        activityIndicator.hidden = NO;
        [activityIndicator startAnimating];

        NSURL *url = [NSURL URLWithString:@"http://test.com/iphone.php"];
        ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
        NSLog(@"URL = %@",url);

        [request setValidatesSecureCertificate:NO];
        [request setRequestMethod:@"POST"];
        [request setPostValue:@"user1" forKey:@"user"];
        [request setPostValue:@"admin" forKey:@"pass"];
        [request setDelegate:self];
        [request startAsynchronous];  

        NSString *response = [NSString stringWithContentsOfFile:
                              [request downloadDestinationPath] encoding:[request responseEncoding] error:nil];
 }    


- (void)requestFinished:(ASIHTTPRequest *)request {
    NSLog(@"Response %d ==> %@", request.responseStatusCode, [request responseString]);
    [activityIndicator stopAnimating];
    activityIndicator.hidden = YES;
}

Ответы [ 3 ]

0 голосов
/ 10 октября 2011

В качестве альтернативы, ваш ответ может содержать закодированное изображение (скажем, 64-битное), которое вы можете проанализировать из ответа.

0 голосов
/ 10 октября 2011

Если вы хотите сохранить изображение в телефоне пользователя, вы можете использовать это время для API HJcache, который используется для хранения на стороне клиента, изображений и того, что нужно использовать.

0 голосов
/ 09 октября 2011

Если вы хотите сохранить изображения, вы должны сделать запрос на загрузку непосредственно к вашему изображению.В данный момент вы получаете HTTP-страницу в качестве ответа (сохраняя это).

Итак, в основном:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:<URL WITH YOUR IMAGE>];
[request setDownloadDestinationPath:@"/image.jpg"];
...