2013-05-11 2 views
0

Я попытался найти этот ответ в течение нескольких дней и не нахожу ничего. Я храню url для изображения в моей базе данных, и я пытаюсь получить этот URL-адрес и загрузить изображение в ImageView.Загрузка изображения из MYSQL в Imageview

Пользователи загружают изображение, и мой PHP-скрипт создает URL-адрес изображения в базе данных. Это моя таблица базы данных: ID -> Username -> Password -> urlImage. И у меня есть другой скрипт PHP, который берет имя пользователя и спрашивает urlImage.

В Xcode я хочу добавить это: ` NSUserDefaults * settings = [NSUserDefaults standardUserDefaults]; NSString * user = [settings valueForKey: @ "username"];

NSString *post = [NSString stringWithFormat:@"username=%@&image=dummy",user]; 

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 

[request setURL:[NSURL URLWithString:@"http://url.com/Wish_Profile_Pic.php"]]; 
NSString *postLen = [[NSString alloc] initWithFormat:@"%d" ,[post length ]]; 
[request setValue:postLen forHTTPHeaderField:@"Content-Length"]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
//this is hard coded based on your suggested values, obviously you'd probably need to make this more dynamic based on your application's specific data to send 

[request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]]; 

[[NSURLConnection alloc] initWithRequest:request delegate:self]; 

`

Это посылает запрос на сервер сообщений базы данных и сервер будет выводить urlImage. Как просмотреть изображение в ImageView? Не могу найти ничего об этом.

ответ

0
NSString *post = [NSString stringWithFormat:@"username=%@&image=dummy",use]; 

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:@"http://url.com/Wish_Profile_Pic.php"]]; 
NSString *postLen = [[NSString alloc] initWithFormat:@"%d" ,[post length ]]; 
[request setValue:postLen forHTTPHeaderField:@"Content-Length"]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
[request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]]; 

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *r, NSData *data, NSError *e) { 
    if(data.length) { 
     UIImage *img = [[[UIImage alloc] initWithData:data] autorelease]; 

     //try base64 
     if(!img) { 
      //NEEDS http://projectswithlove.com/projects/NSData_Base64.zip 
      id b64 = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; 
      id data2 = [NSData dataFromBase64String:b64]; 
      img = [[[UIImage alloc] initWithData:data2] autorelease]; 
     } 
     if(img) 
      self.imageView.image = img; 
    } 
    else if(e) 
     NSLog(@"%@", e); 
}]; 
+0

Я постараюсь это сразу же, но выглядит как-то мне нужно :) – user2351814

+0

это делает пост асинхр и когда он возвращается вы получаете изображение из данных ответа –

+0

Я попытался это в ViewDidLoad и должен был измените эту строку на self-> imageView.image = img; но не видел ничего в моем изображении. У вас есть учебник или что-то в этом роде? Или как вы с этим справились? Это должно быть просто просто сделать IBOutlet UIImageView * imageView в .h и ваш код в .m правильно? – user2351814

Смежные вопросы