使用AFNetWorking传文件和参数:
#pragma mark - 上传问题图片
- (void)uploadQuestionImage:(UIImage *)questionImage withQuestionID:(NSString *)questionID{
AppDelegate * app = [UIApplication sharedApplication].delegate;
NSData *imageData = UIImageJPEGRepresentation(self.questionImage, 1.0);
NSMutableDictionary * parameters = [NSMutableDictionary dictionary];
[parameters setObject:questionID forKey:@"exID"];
NSMutableURLRequest *request = [[AFHTTPClient clientWithBaseURL:[NSURL URLWithString:dUrl_serverAddress]] multipartFormRequestWithMethod:@"POST" path:@"Path/UploadTitleImage/" parameters:parameters constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
[formData appendPartWithFileData:imageData name:@"image" fileName:@"quePic.jpg" mimeType:@"image/jpeg"]; //图片
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
float progress = totalBytesWritten / (float)totalBytesExpectedToWrite;
NSLog(@"Sent Pic %f ..",progress);
}];
[operation start];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@" QuestionPictureUploadDidFinish: %@ ",[operation responseString]);
NSString * response =[operation responseString];
NSError *error = nil;
NSData *fileIdData = [response dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dicRoot = [NSJSONSerialization JSONObjectWithData:fileIdData options:NSJSONReadingMutableLeaves error:&error];
NSDictionary *dictfil = [dicRoot objectForKey:@"json"];
int state = [[dictfil valueForKey:@"state"] intValue];
//上传成功
if (state==1)
{
NSString *msg = [NSString stringWithFormat:@"%@", [dictfil objectForKey:@"msg"]];
[app showMsg:msg];
}
//上传失败
else
{
NSString *msg = [NSString stringWithFormat:@"%@", [dictfil objectForKey:@"msg"]];
[app showMsg:msg];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"上传失败 error: %@", operation.responseString);
[app showMsg:@"上传失败"];
}];
}