2012-04-17 2 views
-4


Я новичок в разработке Iphone. Я хочу загрузить изображение из библиотеки Iphone на сервер. Я хочу взять кнопку на экране, нажав кнопку clecking, пользователь может увидеть файлы изображений и выбрать один файл, который хочет пользователь. После выбора файла я хочу показать изображение в режиме просмотра изображения.
Как это сделать. Как использовать ImageViewController?Загрузка изображения в iphone


Thanks,
Avinash Patil.

+3

SO не 'дай Teh codez' сайт. Вы должны попытаться задать вопросы, которые отвечают без необходимости предоставления комплексного решения. Вы на самом деле здесь, чтобы учиться, а не для кого-то другого, чтобы выполнять свою работу, не так ли? – Till

+0

Я знаю, что все правильно, но он говорит, что он новый. Плюс не стоит недооценивать других. Просто помогите ему, как решить проблемы. –

+1

@Marvin Он может быть новым, но это не мешает ему использовать Google или сайт разработчика Apple. Там есть много примеров, и он даже упомянул ImageViewController в своем вопросе. Так почему бы не начать с чего-то? –

ответ

0

Сначала у вас должна быть библиотека изображений изображений для этого использования под кодом.

    - (IBAction)BrowseImage:(id)sender { 

if ([UIImagePickerController isSourceTypeAvailable: 
    UIImagePickerControllerSourceTypeSavedPhotosAlbum]) 
{ 
    UIImagePickerController *imagePicker = 
    [[UIImagePickerController alloc] init]; 
    imagePicker.delegate = self; 
    imagePicker.sourceType = 
    UIImagePickerControllerSourceTypePhotoLibrary; 
    imagePicker.mediaTypes = [NSArray arrayWithObjects: 
           (NSString *) kUTTypeImage, 
           nil]; 
    imagePicker.allowsEditing = NO; 
    [self presentModalViewController:imagePicker animated:YES]; 
    //newMedia = NO; 

    } 

    } 
     -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
     { 
     [self dismissModalViewControllerAnimated:YES]; 

     } 

после выбора изображения и есть отправить этот файл на сервер с помощью HTTP POST метод

здесь есть код

    NSString *urlString = @"your Url"; 
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:urlString]]; 
[request setHTTPMethod:@"POST"]; 

NSMutableData *body = [NSMutableData data]; 


NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; 
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary]; 
[request addValue:contentType forHTTPHeaderField:@"Content-Type"]; 

// file 
NSData *imageData = UIImageJPEGRepresentation([self scaleAndRotateImage:Mainimage.image],90); 


[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
// [body appendData:[[NSString stringWithString:@"Content-Disposition: attachment; name=\"user_photo\"; filename=\"photoes.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 

[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"image\"; filename=\"%@.jpg\"\r\n",@"ImageNmae"] dataUsingEncoding:NSUTF8StringEncoding]]; 

[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[NSData dataWithData:imageData]]; 
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 




// Text parameter1 
// NSString *param1 = @"parameter text"; 
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"title\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:ImageTitel.text] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 


// close form 
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
// set request body 
[request setHTTPBody:body]; 
0

Использование UIImagePickerController и его метод делегата, и реализовать UIImagePickerControllerDelegate в файле .h вашего контроллера

Просто написать этот код для вашей кнопки мыши

-(IBAction)btnTapped:(id)sender 
{ 
     UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init]; 
     imgPicker.delegate = self; 
     imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
     [self presentModalViewController:imgPicker animated:YES]; 
} 

При нажатии на эту кнопку UIImagePickerController загрузит, выберите любое изображение, которое вы хотите. Этот метод делегатов UIImagePickerController будет называться

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    [picker dismissModalViewControllerAnimated:YES]; 
    [picker release]; 
    //This is selected image 
    UIImage *img = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    YOURIMAGEVIEW.image = img; 
} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{ 
    [picker dismissModalViewControllerAnimated:YES]; 
    [picker release]; 
} 

Теперь s earch на ASIHttpRequest для того, чтобы загрузить изображения на веб-сервер ... Попробуйте Googling ..

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