AFNetworking 2.0을 사용하고 있습니다. multipart-formdata를 사용하여 서버에 게시물 요청을 수행합니다. 3 개의 문자열 매개 변수와 함께 비디오 및 이미지를 업로드하려고합니다.AFNetworking 2.0. - multipart-formdata 요청이 성공하지 못했습니다.
이것은 POSTMAN 클라이언트에서는 정상적으로 작동하지만 앱에서는 정상적으로 작동하지 않습니다.
다음은 작동하지 않는 정확한 코드입니다. 코드와
UIImage *image = img;
NSData *imageData = UIImagePNGRepresentation(image);
NSURL *urlVideo = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"SampleVideo_1280x720_1mb" ofType:@"mp4"]];
NSData *videoData = [NSData dataWithContentsOfURL:urlVideo];
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:requestURl]];
manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObjectsFromArray:@[@"application/json",@"text/html"]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:@"POST" parameters:value constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:imageData name:@"buzzymain_image" fileName:@"photo" mimeType:@"image/png"];
[formData appendPartWithFileData:videoData name:@"buzzymain" fileName:@"video" mimeType:@"video/mp4"];
[formData appendPartWithFormData:[[value valueForKey:@"buzzymain_category"] dataUsingEncoding:NSUTF8StringEncoding] name:@"buzzymain_category"];
[formData appendPartWithFormData:[[value valueForKey:@"buzzymain_title"] dataUsingEncoding:NSUTF8StringEncoding] name:@"buzzymain_title"];
[formData appendPartWithFormData:[[value valueForKey:@"buzzyuser_id"] dataUsingEncoding:NSUTF8StringEncoding] name:@"buzzyuser_id"];
} success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {
NSString *json = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"-------\n");
NSLog(@"%@", json);
NSLog(@"-------\n");
} failure:^(AFHTTPRequestOperation * _Nullable operation, NSError * _Nonnull error) {
{
//Something wrong
}
}];
오류 :
{ "상태": "0", "메시지": ". 사용자 ID를 입력하십시오"}
POSTMAN과의 성공 :
{ "상태": "1", "메시지": "작업이 성공적으로 수행 하였다."}
P.S. 위의 코드에서 "value"는 NSDictionary입니다.
내가 잘못하고있는 곳을 제안 해주세요.
안녕, 단지 확인하기 위해, 값이 키 buzzyuser_id (아무 오타없이 대문자)과 관련된 유효한 USER_ID 포함되어 있습니까? –
"value"에 "buzzyuser_id"가 있습니까? –
@FlorianBurel, 고마워.하지만 유형이나 다른 경우는 없으므로 나는 여러 번 모든 것을 점검했다. 우편 배달부에서는 동일한 매개 변수로 올바르게 작동합니다. – Hemang