上传图片 头像

原创 2016年06月01日 16:40:53

#import "ViewController.h"

#import "AFHTTPRequestOperationManager.h"

@interface ViewController ()<UINavigationControllerDelegate,UIImagePickerControllerDelegate, UIPickerViewDataSource,UIPickerViewDelegate>


@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    _imageV.userInteractionEnabled =YES;

    UITapGestureRecognizer *tap = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(changeUserIcon:)];

    [_imageVaddGestureRecognizer:tap];

    // Do any additional setup after loading the view, typically from a nib.

}

- (void)changeUserIcon:(UITapGestureRecognizer *)sender {

    UIAlertController *alertController = [UIAlertControlleralertControllerWithTitle:nilmessage:nilpreferredStyle:UIAlertControllerStyleActionSheet];

    // Create the actions.

    UIAlertAction *cancelAction = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:^(UIAlertAction *_Nonnull action) {

    }];

    //拍照

    UIAlertAction *takePictureAction = [UIAlertActionactionWithTitle:@"拍照"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction *action) {

        UIImagePickerController *imagePicker = [[UIImagePickerControlleralloc] init];

        imagePicker.delegate = self;

        imagePicker.sourceType =UIImagePickerControllerSourceTypeCamera;

        imagePicker.modalTransitionStyle =UIModalTransitionStyleCoverVertical;

        imagePicker.allowsEditing = YES;

        [selfpresentViewController:imagePicker animated:YEScompletion:nil];

    }];

    

    //从手机相册选择

    UIAlertAction *pickPictureAction = [UIAlertActionactionWithTitle:@"从手机相册选择"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction *action) {

        //图片选择器

        UIImagePickerController *picker = [[UIImagePickerControlleralloc]init];

        //图片来源

        picker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;

        picker.modalTransitionStyle =UIModalTransitionStyleCoverVertical;

        //图片是否可以编辑

        picker.allowsEditing = YES;

        picker.delegate = self;

        //切换到视图选择器

        [selfpresentViewController:picker animated:YEScompletion:nil];

    }];

    // Add the actions.

    [alertController addAction:cancelAction];

    [alertController addAction:takePictureAction];

    [alertController addAction:pickPictureAction];

    [selfpresentViewController:alertController animated:YEScompletion:nil];

}

#pragma mark - PickerDelegate图片选择

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    UIImage *image = [infoobjectForKey:UIImagePickerControllerEditedImage];

    NSData *imageData = UIImagePNGRepresentation(image);

    [selfdismissViewControllerAnimated:YEScompletion:^{

        self.tabBarController.tabBar.hidden =NO;

        [self.imageVsetImage:image];

        NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)firstObject]stringByAppendingPathComponent:@"image.png"];

        

        

        //上传到服务器

        NSDictionary *dicP = [NSDictionarynew];

        //拼接上传所需参数,cid是从登陆成功后获取到的

    

//            dicP = @{@"cid":UserCid};

            dicP = @{@"cid":@"....."};

        

        NSString *strUrl =@"http:action";

        AFHTTPRequestOperationManager *manger = [AFHTTPRequestOperationManagermanager];

        

        [manger POST:strUrl parameters:dicP constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

            [formData appendPartWithFileData:imageDataname:@"upload"fileName:filePath mimeType:@"image/png"];

        } success:^(AFHTTPRequestOperation *operation,id responseObject) {

            NSLog(@", success");

            //            [self.tableView reloadData];

        } failure:^(AFHTTPRequestOperation *operation,NSError *error) {

            NSLog(@".....%@", error);

        }];

    }];

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android实现本地上传图片并设置为圆形头像

我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ。用户在用QQ更换头像的时候,上传的图片都是矩形的,但显示的时候确是圆形的。那么这是如何实现的呢,下面我们就来探讨下吧。 先从本...

使用jquery无刷新上传图片,可用于头像预览功能

html: resources/images/gravatar.gif" alt="" width="100" height="100" class="avatar"> jquery: ...

iOS上传图片或者头像到服务器。

UIImage * image = [message valueForKey:@"originalImage"]; NSString *image_string=nil; if ([[...

SpringMVC 上传图片和头像

//上传图片 证件照 @RequestMapping(value = "/uploadPoster.do") public @ResponseBody Object uploadPoster...

实时预览上传图片(QQ上传头像前的预览)

上传到服务器之前的本地预览,提高响应速度,用户交互友好 function preview(file) { var prevDiv = document.getElementById('pre...

jsp 用户上传头像、上传图片、邮件上传附件代码

jsp教程 用户上传头像、上传图片、邮件上传附件代码 2. 页面表单的实现     文件上传表单和普通表单有两个区别     1) 需要文件上传字段      2) form...

Android 上传图片/头像——取得手机内的图片或拍照取得图片

QQ与微信等社交软件都有上传图片/头像的功能。也可以直接把拍照得到的图片上传,很方便。 今天我就把我做的类似功能有大家分享一下。 1、权限 权限很简单就是应用程序读写创建文件的权限。 2、取相册...
  • q10123
  • q10123
  • 2013年11月20日 17:07
  • 3714
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:上传图片 头像
举报原因:
原因补充:

(最多只允许输入30个字)