1

写真のバイトを送信してサーバーに画像をアップロードする必要があり、AFNetworkingを使用して
いますが、このエラーが発生し続けます-

Error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation could not be completed. (Cocoa error 3840.)" (JSON テキストが配列またはオブジェクトで開始されておらず、フラグメントを許可するオプションが設定されていません。) UserInfo=0x10abb7350 {NSDebugDescription= JSON テキストが配列またはオブジェクトで始まっておらず、フラグメントを許可するオプションが設定されていません。}

4

2 に答える 2

3

PHP サーバーが で応答しない場合は、一般的な HTTP 応答を受け入れるようapplication/jsonに指示する必要があります。manager

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:path parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    [formData appendPartWithFileData:imageData name:@"image" fileName:imageFilename mimeType:@"image/png"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
    NSLog(@"Success: %@", string);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

サーバーが JSON 応答で応答している場合は、Content-Typeヘッダーが適切に設定されていない可能性がありますheader("Content-type: application/json");

于 2013-11-14T00:30:22.650 に答える