Arhn - архитектура программирования

Как загрузить изображение при просмотре изображения с URL-адреса FTP в ios

Я пытаюсь загрузить изображение в представление изображения с URL-адреса FTP, используя следующий код

    NSURL * imageURL = [NSURL URLWithString:@"ftp://50.63.12.12/bpthumb.jpg"];
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:imageURL];
    UIImage * image = [[[UIImage alloc]initWithData:request]autorelease];
    UIImageView *imgView=[[UIImageView alloc]initWithFrame:CGRectMake(50, 50, 200, 200)];
    [imgView setImage:image];
    [self.view addSubview:imgView];

Но это не работает.

Я знаю, что мне нужно предоставить свои учетные данные FTP, чтобы подключиться к FTP и получить изображения по URL-адресу ma.

Пожалуйста, предложите мне выход.


  • выходом было бы сообщить нам, что именно не работает, чтобы мы могли вам помочь 23.11.2012
  • NSData* imageData = [NSData dataWithContentsOfURL: [NSURL URLWithString: yourURLString]]; 23.11.2012
  • @ValentinShamardin: что насчет учетных данных. как он будет подключаться к ftp? 23.11.2012
  • @sujay, у меня такая же проблема. Итак, у вас есть какое-либо решение для этого? Если да, можете поделиться? Спасибо, 06.06.2013

Ответы:


1

Попробуй это :

NSURL *url = [NSURL URLWithString:@"ftp://user:password@host:port/path"];
NSData *data = [NSData alloc] initWithContentsOfURL:url];

а здесь SimpleFTPSample от Apple dev. попробуй это .

23.11.2012

2

попробуйте что-нибудь подобное в делегате соединения didReceiveAuthenticationChallenge:

-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{

    NSLog(@"challenged %@",[challenge proposedCredential]);

    if([challenge previousFailureCount]==0){
        NSURLCredential *newCredential;
        newCredential=[NSURLCredential credentialWithUser:@"xxxxxx"
                                                 password:@"xxxx"
                                              persistence:NSURLCredentialPersistenceNone];
        [[challenge sender] useCredential:newCredential
               forAuthenticationChallenge:challenge];

    } else {

        [[challenge sender] cancelAuthenticationChallenge:challenge];
        NSLog(@"Wrong username or password ");
    }


}

АКЛ

23.11.2012

3

Ну, вы могли бы использовать

UIImage *image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL:imageURL];

Но вы не должны этого делать, потому что это будет использовать синхронное соединение для передачи данных и, скорее всего, временно заморозит ваше приложение. Вы должны использовать NSURLConnection с соответствующими делегатами для асинхронной загрузки изображения.

Дополнительные советы по этой теме см. на http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html

23.11.2012
  • Я пытался использовать NSURLConnection. Он работает для URL-адреса с http, но не для URL-адреса ftp. 23.11.2012

  • 4

    Просто используйте NSURLConnection с путем, начинающимся с "ftp://", и он должен работать. NSURLConnection поддерживает http, https, ftp и файл из коробки.

    23.11.2012
  • я пробовал это. Он работает для URL-адреса с http, но не для URL-адреса ftp. Будет ли эта поддержка для xcode 4.0.1 23.11.2012
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..