iOS 把图片保存到相册,并获取图片文件名的实例
时间:2023-02-19 10:52:59|栏目:iOS代码|点击: 次
实例如下所示:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) { UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL); } } - (void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo { if (error) { DLog(@"图片保存失败!"); }else{ DLog(@"图片保存成功!"); } } 此方法可以把其他来源的图片也可保存到相册 //当image从相机中获取的时候存入相册中 //保存方法1 // UIImageWriteToSavedPhotosAlbum(img.image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL); // imageData = nil; WEAKSELF //保存方法2同时获取保存的相片文件名 __blockALAssetsLibrary *lib = [[ALAssetsLibraryalloc] init]; [lib writeImageToSavedPhotosAlbum:img.image.CGImagemetadata:nilcompletionBlock:^(NSURL *assetURL,NSError *error) { ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *imageAsset) { ALAssetRepresentation *imageRep = [imageAssetdefaultRepresentation]; weakSelf.imageName = [NSStringstringWithFormat:@"%@",[imageRepfilename]]; NSLog(@"[imageRep filename 1] : %@", [imageRepfilename]); DBLog(@"self.addressImageName照相0 = %@",weakSelf.imageName); commitBlock(img.image,UIImageJPEGRepresentation(img.image,0.5),self.imageName); }; ALAssetsLibrary* assetslibrary = [[ALAssetsLibraryalloc] init]; [assetslibrary assetForURL:assetURLresultBlock:resultblock failureBlock:nil]; NSLog(@"assetURL = %@, error = %@", assetURL, error); lib = nil; }]; }];