我先从相册选取一张图片存到本地 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; // 把头像图片存到本地 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@'1.jpg']]; // 保存文件的名称 NSData *imageData = UIImageJPEGRepresentation(image, 0.5); [imageData writeToFile:filePath atomically:YES]; } 然后通过AFNetworking上传图片到服务器, - (void)uplodeUserImage { [self.loadingView show]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@'text/html']; NSDictionary *parameters =@{@'clientId':[_user objectForKey:@'CLIENT_ID']}; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; //path数组里貌似只有一个元素 NSString *filestr = @'/1.jpg'; NSString *newstr = [documentsDirectory stringByAppendingString:filestr]; NSData *dd = [NSData dataWithContentsOfFile:newstr]; // 加载头像 userImageSupView.image = [UIImage imageWithData:dd]; [manager POST:[NSString stringWithFormat:@'%@MobileVIPCenter/UpdateClientHead', Data_Http] parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { [formData appendPartWithFileData:dd name:@'1' fileName:@'1.jpg' mimeType:@'image/jpeg']; } success:^(AFHTTPRequestOperation *operation,id responseObject) { [self.loadingView hide]; NSLog(@'Success: %@', [responseObject objectForKey:@'msg']); } failure:^(AFHTTPRequestOperation *operation,NSError *error) { NSLog(@'Error: %@', error); }]; } 为什么服务器一直返回给我 请让我选择上传文件呢?? 各位大神帮帮忙。 |
|