美文网首页
上传/发送图片

上传/发送图片

作者: KeepFighting | 来源:发表于2016-02-20 23:35 被阅读122次

上传单张的情况

- (void)pickOne
{
    UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
    //设置图片的来源
    /*
     UIImagePickerControllerSourceTypePhotoLibrary,  从照片应用的所有相册中选择一张图片
     UIImagePickerControllerSourceTypeCamera, 利用照相机拍一张图片(如果需要自定义照相机,应该要使用AVFoundation.framework中的AVCaptureSession)
     UIImagePickerControllerSourceTypeSavedPhotosAlbum 从照片应用的Moments相册中选择一张图片
     */
    ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    
    ipc.delegate = self;
    [self presentViewController:ipc animated:YES completion:nil];
    
}

实现代理
<UINavigationControllerDelegate, UIImagePickerControllerDelegate>

\#pragma mark - <UIImagePickerControllerDelegate>
/**
 *  图片选择完毕就会调用这个代理方法
 */
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
{
    NSString *const UIImagePickerControllerMediaType;// 媒体类型
    NSString *const UIImagePickerControllerOriginalImage;// 原始未编辑的图像
    NSString *const UIImagePickerControllerEditedImage;// 编辑后的图像
    NSString *const UIImagePickerControllerCropRect;// 源图像可编辑(有效?)区域
    NSString *const UIImagePickerControllerMediaURL;// 视频的路径
    NSString *const UIImagePickerControllerReferenceURL;// 原始选择项的URL
    NSString *const UIImagePickerControllerMediaMetadata;// 只有在使用摄像头并且是图像类型的时候有效.包含选择图像信息的字典类型复制代码
    self.imageView.image = info[UIImagePickerControllerOriginalImage];
    
    // 关闭选择图片的界面
    [picker dismissViewControllerAnimated:YES completion:nil];
}

打印 info字典的key


Paste_Image.png

上传多张:使用第三方框架 CTAssetsPickerController
https://github.com/chiunam/CTAssetsPickerController

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
 // init picker
    CTAssetsPickerController *picker = [[CTAssetsPickerController alloc] init];
    
    // set delegate
    picker.delegate = self;
    
    // UI_USER_INTERFACE_IDIOM()返回当前设备的类型
    // to present picker as a form sheet in iPad
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
        picker.modalPresentationStyle = UIModalPresentationFormSheet;
    // present picker
    [self presentViewController:picker animated:YES completion:nil];
}

#pragma mark - <CTAssetsPickerControllerDelegate>
- (void)assetsPickerController:(CTAssetsPickerController *)picker didFinishPickingAssets:(NSArray *)assets
{
    [picker dismissViewControllerAnimated:YES completion:nil];
    
    NSLog(@"%@", assets);
}

相关文章

网友评论

      本文标题:上传/发送图片

      本文链接:https://www.haomeiwen.com/subject/csivkttx.html