2012-06-04 6 views
12

私はいくつかの例を見てきましたが、私の問題はPHPにあるかもしれないと思います。私は、AFNetworkingを使用して、iphoneからサーバーに画像をアップロードしようとしています。私はそれがAFNetworking Uploading Image

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { 

で失敗したアップロードしようとすると

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; 

} 

および403 /偽を返します。これは私のupload.phpある

-(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]; 
} 

:ここに私のOBJ-Cのコードであります私が設定したステータスコード

+0

最も可能性の高い権限の問題を必要としていました。私はiOSデバイス経由でこれをやっているので、 'error_reporting(E_ALL)'を有効にする –

+0

どうすればエラーメッセージを返すことができますか?私は使用できるsendResponse( '400'、 "$ errors")関数を持っていますが、何を$エラーに設定しますか? – mkral

+0

@mkral:これはちょっと古いですが、私はurコードのアップロード部分の修正版を実装しようとしました。それは私のために働いていませんでした 最終的にはうまくいったのですか? ios/objectiveを習得しようとしています。 –

答えて

3

愚かな間違いだった...

PHPで

iは

$uploaddir = 'uploads/'; 

代わりの

$uploaddir = '/uploads/'; 
+0

あなたのコードを使用しましたが、私は"レスポンス:[(null)] "を手に入れましたか? thanx – AliBZ

+0

あなたのWebサービスでエラーが発生しているか、JSONが返されていない可能性が最も高いです。 – mkral

+0

コードのアップロード部分を送ってもらえますか?私は過去2日間の実例を探していました。 Thanx – AliBZ

関連する問題