新手有使用ASIHTTPRequest上传文件的问题

我真的可以真的使用一些帮助。 我已经在使用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 ) ) 

请帮忙 :(

我面临类似的问题,我重新resize的图像使用

 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,所以减less它,并尝试。

 [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!"; }