iOS - 获取系统相册照片名称,路径以及各项信息

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/coderMy/article/details/53055861

最近做的项目 , 在我看来都停偏的 , 因为需要的都不仅仅是展示和业务逻辑 , 而主要都是网络和存储,文件,流媒体操作方面的东西 . 所以今天想要获取下照片的名称 , 还找了挺久的 . 以此记录下 , 直接上代码 .


首先让当前控制器遵循 UINavigationControllerDelegate,UIImagePickerControllerDelegate 这两个协议 , 并实现其方法 , 用于打开相册并选择照片

//打开相册
- (void)uploadPhoto
{
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
    {
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        //设置当前控制器为picker对象的代理
        picker.delegate = self;
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentViewController:picker animated:YES completion:nil];
    }
}

代理方法

//获取照片信息
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
{

    //获取图片的名称
    //获取
    NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];

    //导入 #import <AssetsLibrary/AssetsLibrary.h> 库
    //创建 ALAssetsLibrary 对象
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc]init];

    [library assetForURL:url resultBlock:^(ALAsset *asset){


        //获取图片
        UIImage *image = info[UIImagePickerControllerOriginalImage];
        //获取照片名称
        NSString *fileName = asset.defaultRepresentation.filename;
        //获取照片元数据  ,包含一些RGB什么的
        NSString *fileName = asset.defaultRepresentation.metadata;

       //获取照片大小比例等等... defaultRepresentation的属性中可以查看
        ....

        //开始上传 (此方法无视 , 这是项目中需要的方法)
        [JYCenterAddUploadManager executeUpLoadFileWithFile:image fileParent:@"root" fileName:fileName fileType:JYUpLoadFileTypeImage response:^(JYDownLoadTaskModel *taskModel) {

        }];

    }failureBlock:^(NSError *error){

        [NSObject alertShowWithSingleTipWithtarget:self title:@"获取相册失败" makeSureClick:nil];

    }];

    [picker dismissViewControllerAnimated:YES completion:nil];
}

尤其需要注意的是: 苹果为了保护用户隐私 , 我们开发者是拿不到相册里视频和照片的路径的 , 此路径是指物理路径 , 而并非上述的URL

展开阅读全文

没有更多推荐了,返回首页