新手有使用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!"; }