iOS 개발(OC) - AFNetworking 파일 업로드

1998 단어 OC
//urlString 서버 주소//param 사전 유형, 다음에 전달할 매개 변수와 그 값: NSDictionary *param = @{@'time': dateString, @'token': tokenString, @'userid': [userDefault objectForKey:userid], @'finger_type': [NSStringWithFormat: @'%d', (int)selectButton.tag-10+1], @'audio': fileData};
//다음 방법 중 리셋이 필요하면 블록을 쓰세요.내가 못 알아볼 것 같아서 + (void) postAudio WithUrl: (NSSTring) urlString and Param: (NSDictionary) param keyName: (NSSTring) key fileName: (NSSTring) file data: (NSData*) fileData {NSMutableURLRequest* request= [AFHTTPRequest Serializer serializer] multipartFormRequestWithMethod: @"POST"URLString: urlString param eters:param constructingBodyWithBlock:^(id formData){/fileData 2진 흐름, 예를 들어 NSData*fileData=[NSData dataWith Contents OfFile:filePath];//filePath 당신의 파일 경로//key 서버 주소 URL에 있는 2진 흐름의 키워드 필드//file, 사용자 정의 파일 이름//@"application/octet-stream"파일의 형식을 모를 때 기본적으로 사용합니다.[formData appendPartWithFileData:fileData name:key fileName:file mimeType:@”application/octet-stream”];
} error:nil];

AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {

    // 
    CGFloat progress=(CGFloat)downloadProgress.completedUnitCount/(CGFloat)downloadProgress.totalUnitCount;// /, , , 


} completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
    // 
    if (error) {
        NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:error.debugDescription,@"info", nil];


    } else {// 

        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];

    }

}];


[uploadTask resume];// 

}
iOS 개발 커뮤니티: 301058503

좋은 웹페이지 즐겨찾기