Я рассмотрю несколько примеров, но думаю, что моя проблема может быть в PHP. Я пытаюсь загрузить изображение на сервер из iphone с помощью AFNetworking. Вот мой код obj-c:
-(IBAction)uploadButtonClicked:(id)sender { NSData *imageToUpload = UIImageJPEGRepresentation(mainImageView.image, 90); AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://www.THESERVER.com"]]; NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"/PROJECT/upload.php" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { [formData appendPartWithFileData: imageToUpload name:@"file" fileName:@"temp.jpeg" mimeType:@"image/jpeg"]; }]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { NSString *response = [operation responseString]; NSLog(@"response: [%@]",response); [MBProgressHUD hideHUDForView:self.view animated:YES]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { [MBProgressHUD hideHUDForView:self.view animated:YES]; if([operation.response statusCode] == 403){ NSLog(@"Upload Failed"); return; } NSLog(@"error: %@", [operation error]); }]; [operation start]; }
Это мой upload.php:
function upload(){ $uploaddir = '/uploads/'; $file = basename($_FILES['file']['name']); $uploadfile = $uploaddir . $file; if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { sendResponse(200, 'Upload Successful'); return true; } sendResponse(403, 'Upload Failed'); return false; }
Когда я пытаюсь загрузить его,
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
и возвращает 403 / false код состояния, который я установил
Это была глупая ошибка …
в php мне нужно
$uploaddir = 'uploads/';
вместо
$uploaddir = '/uploads/';