开发者

How to download file from particular url?

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 ];

I write this code to download a file from give开发者_开发技巧n url... but i get an error on line

NSData * data = [NSData dataWithContentsOfURL:url];

uncaught exception...

so please help me out.


Your first line should be

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

(NSURL is not a string, but can easily be constructed from one.)

I'd expect you to get a compiler warning on your first line--ignoring compiler warnings is bad. The second line fails because dataWithContentsOfURL: expects to be given a pointer to an NSURL object and while you're passing it a pointer that you've typed NSURL*, url is actually pointing to an NSString object.


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

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

    NSData *fileData = [[NSData alloc] initWithContentsOfURL:fileURL];


-[NSString initWithContentsOfURL:] is deprecated. You should be using -[NSString (id)initWithContentsOfURL:encoding:error:]. In either case, the URL paramter is an NSURL instance, not an NSData instance. Of course you get an error trying to initialize a string with the wrong type. You can initialize the string with the URL data using -[NSString initWithData:encoding:], or just initialize the string directly from the URL.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜