2014-04-22 6 views
0

У меня есть сборщика изображения, который извлекает изображение из встроенной камеры:Выгрузка сборщика изображение фото ИОС

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    [info objectForKey:UIImagePickerControllerEditedImage]; 
    UIImage *chosenImage = info[UIImagePickerControllerOriginalImage]; 
    self.imageView.image = chosenImage; 
    NSData *image = UIImagePNGRepresentation(chosenImage); 
    [self setImageDataToSend:image]; 
    [picker dismissViewControllerAnimated:YES completion:NULL]; 
} 

Затем я хочу, чтобы загрузить фотографию с помощью HTTP

так:

NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"image.png"]); 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] 
            initWithURL:[NSURL 
               URLWithString:@"http://******.co.uk/***/imageupload.php"]]; 

    [request setHTTPMethod:@"POST"]; 
    [request setValue:@"image/png" 
    forHTTPHeaderField:@"Content-type"]; 
    [request setValue:[NSString stringWithFormat:@"%lu", 
         (unsigned long)[imageData length]] 
    forHTTPHeaderField:@"Content-length"]; 
    [request setHTTPBody:imageData]; 

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

Это выбирает изображение под названием «image.png» из приложения. Я хочу, чтобы забрать NSData * изображение из палитры изображения


здесь также imageupload.php:

<?php 
$handle = fopen("image.png", "wb"); // write binary 

fwrite($handle, $HTTP_RAW_POST_DATA); 

fclose($handle); 

print "Received image file."; 
?> 

Вы знаете о любых лучших способов сделать это?

+0

Думаю, вам нужно спросить об этом на http://codereview.stackexchange.com/tour –

ответ

2

Вы вызываете метод setImageDataToSend: данных, которые вы хотите отправить, а затем игнорировать его в этой строке:

NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"image.png"]); 

Вы, вероятно, хотите пропустить эту строку и изменения:

[request setHTTPBody:imageData]; 

к:

[request setHTTPBody:[self imageDataToSend]]; 
Смежные вопросы