Я действительно мог действительно помочь. Я просмотрел всюду по некоторой подробной документации (для манекенов) по использованию ASIFormDataRequest для загрузки фотографий. Может ли кто-нибудь через меня прожить здесь?
Вот что (в отношении релевантности) у меня есть, хотя я знаю, что я могу уйти.
Camera.h
#import <UIKit/UIKit.h> @class ASIFormDataRequest; ...
Camera.m
#import "Camera.h" #import "ASIHTTPRequest.h" #import "ASIFormDataRequest.h" ... - (void)uploadImage:(NSData *)imageData filename:(NSString *)filename{ NSURL *url = [NSURL URLWithString:@"http://moosesightings.com/test.php"]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; // Upload a file on disk [request setData:imageData withFileName:filename andContentType:@"image/jpeg" forKey:@"userfile"]; [request setDelegate:self]; [request startAsynchronous]; } ... - (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissModalViewControllerAnimated:YES]; [picker.view removeFromSuperview]; // Access the uncropped image from info dictionary UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; NSString *imageName = @"uploaded.jpg"; // Save image //UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); [self uploadImage:UIImageJPEGRepresentation(imageView.image, 1.0) filename:imageName]; captionControls.hidden = NO; [textView becomeFirstResponder]; [picker release]; }
Вот сценарий, который я получил.
$dir_dest = 'uploads/'; ob_start(); print_r($_FILES); $test = ob_get_contents(); ob_end_clean(); $db->insert('connecttest', array('ts'=>date('Ymd H:i:s'), 'tempfield'=>$test))->execute();
Вот результат, который я получаю
Array ( [(null)] => Array ( [name] => (null) [type] => (null) [tmp_name] => C:\Windows\Temp\phpCFF0.tmp [error] => 0 [size] => 0 ) )
Пожалуйста помоги 🙁
Я столкнулся с аналогичной проблемой, я изменил размер изображения, используя
UIImage *im = [info objectForKey:@"UIImagePickerControllerOriginalImage"] ; UIGraphicsBeginImageContext(CGSizeMake(320,480)); [im drawInRect:CGRectMake(0, 0,320,480)]; newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData* imageData=UIImageJPEGRepresentation(newImage, 0.5);
и он начал работать, высота и ширина захваченного изображения будет больше 2000х2000, поэтому уменьшите его и попробуйте.
[request setData:imageData withFileName:@"photo.jpg" andContentType:@"image/jpeg" forKey:@"file"];
и это php-скрипт.
$filename="uploaded"; $target_path = "uploads/"; $target_path = $target_path .$filename.".jpg"; if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { echo "uploaded an image"; } else{ echo "There was an error uploading the file, please try again!"; }