Как скачать файл с определенного URL? - PullRequest
3 голосов
/ 23 апреля 2010
NSURL * url = @"http://192.168.100.161/UploadWhiteB/wh.txt";
NSData * data = [NSData dataWithContentsOfURL:url];

if (data != nil) {
  NSLog(@"\nis not nil");
  NSString *readdata = [[NSString alloc] initWithContentsOfURL:(NSData *)data ];

Я пишу этот код, чтобы загрузить файл с указанного URL ... но я получаю сообщение об ошибке
NSData * data = [NSData dataWithContentsOfURL:url];

необученное исключение ...

поэтому, пожалуйста, помогите мне.

Ответы [ 3 ]

4 голосов
/ 24 апреля 2010

Ваша первая строка должна быть

NSURL * url = [NSURL URLWithString:@"http://192.168.100.161/UploadWhiteB/wh.txt"];

(NSURL не является строкой, но может быть легко сконструирована из одной.)

Я ожидаю, что вы получите компиляторпредупреждение в первой строке - игнорирование предупреждений компилятора плохо.Вторая строка терпит неудачу, потому что dataWithContentsOfURL: ожидает, что ей дадут указатель на объект NSURL, и пока вы передаете ему указатель, который вы ввели NSURL*, url фактически указывает на объект NSString.

2 голосов
/ 22 ноября 2011
    NSString *file = @"http://192.168.100.161/UploadWhiteB/wh.txt";
    NSURL *fileURL = [NSURL URLWithString:file];

    NSLog(@"qqqqq.....%@",fileURL);

    NSData *fileData = [[NSData alloc] initWithContentsOfURL:fileURL];
0 голосов
/ 23 апреля 2010

-[NSString initWithContentsOfURL:] устарело.Вы должны использовать -[NSString (id)initWithContentsOfURL:encoding:error:].В любом случае параметр URL является экземпляром NSURL, а не экземпляром NSData.Конечно, вы получаете ошибку при попытке инициализировать строку с неправильным типом.Вы можете инициализировать строку с данными URL, используя -[NSString initWithData:encoding:], или просто инициализировать строку непосредственно из URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...