2017-02-15 6 views
0

以下のコードを使用して、画像をサーバーにアップロードします。iosの画像のアップロードタイムアウトエラー

NSString *url = [NSString stringWithFormat:@"http://192.250.1.52:xxx/api/user/profileUploadUser?userid=27&[email protected]"]; 

NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc]init]; 

[jsonDict setObject:ImageToUpload forKey:@"file"]; 

////////ImageToUpload = /var/mobile/Containers/Data/Application/89112E0B-C1D6-4408-8586-6C5B4A431713/Documents/61.png 

    [manager POST:url parameters:jsonDict 
     success:^(AFHTTPRequestOperation *operation, id responseObject) 
    { //////success code } 


     failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
      UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Image upload" message:@"failure" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
      [alert show]; 
      NSLog(@"error message %@",error); 
      // handle failure 
     }]; 

それは、常に故障ブロックに入ると は、エラーメッセージが表示されます。

エラーメッセージ: " がタイムアウト要求" エラードメイン= NSURLErrorDomainコード= -1001 のUserInfo = {NSErrorFailingURLStringKey = http://192.250.1.52:xxxx/api/user/profileUploadUser?userid=27&[email protected]、_kCFStreamErrorCodeKey = -21022}}}

+0

画像をサーバーにアップロードするためのマルチフォームデータを使用 –

+0

マルチフォームデータを使用して画像のファイルパスを送信することは可能ですか? – Lenin

+0

ファイルパスは動的ですが、どのように同じファイルを展開しますか –

答えて

0

はあなたのインターネットの速度が遅いかもしれませんチェック、あなたはsingleton &で1 retry counterを管理することができます

[manager.requestSerializer setTimeoutInterval:30];//Set request timeout interval time & interact with backend developer for same. 

もう一つは、第2の要求を与えます失敗した場合は&が再び失敗した場合、トーストメッセージのインターネット速度が遅いことを示します。

+0

何度もリクエストをしなければならないし、両方の状態で' retryCounter'を0にリセットすることを忘れないでください(retryCounterをゼロにリセットすることを意味します一度あなたが成功ブロックまたはエラートーストメッセージを表示する) –

+0

私はここにタイムアウトインターバルコードを入れて、それは私の問題を解決していません。 AFHTTPRequestOperationManager * manager = [AFHTTPRequestOperationManagerマネージャ]; manager.responseSerializer = [AFHTTPResponseSerializerシリアライザ]。 manager.requestSerializer = [AFJSONRequestSerializerシリアライザ]。 manager.requestSerializer.timeoutInterval = 30; – Lenin

+0

時間間隔を60に設定してチェックしても動作しない場合は、retryCounterシングルトンを2回要求することができます。失敗した場合でも、トライアルメッセージを処理する必要があります。** Try again、Request Time Out **問題。私は問題がインターネットの速度よりも異なっているとは思っていません。リクエスト間隔の時間はバックエンドの開発者と一度話してください。別の解決策がわかったら教えてください –

0

POST操作を試行していますが、希望するものはfile uploadです。
お試しくださいAFNetworking multipartファイルをアップロードしてください。