如何将图像从相机保存到 iPhone 画廊中的特定文件夹?

Posted

技术标签:

【中文标题】如何将图像从相机保存到 iPhone 画廊中的特定文件夹?【英文标题】:How to save images from Camera to specific folder in iPhone gallery? 【发布时间】:2014-03-27 07:37:49 【问题描述】:

嘿,我是 iPhone 新手,最近一直在尝试制作一个应用程序。基本上,我想要做的是,如果用户从相机捕捉任何图像,那么它应该保存在设备库中。我知道如何将照片保存在图库中,它对我有用,但我无法将所有捕获的图像保存到设备图库中的特定文件夹(如新相册)中。我希望用户能够拍摄几张照片,然后将图片从该特定文件夹复制到画廊。

这是我的代码:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
    NSString *mediaType = [info valueForKey:UIImagePickerControllerMediaType];

    if([mediaType isEqualToString:(NSString*)kUTTypeImage]) 
        UIImage *photoTaken = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

        self.imageView.image = photoTaken;

        //Save Photo to library only if it wasnt already saved i.e. its just been taken
        if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) 
            UIImageWriteToSavedPhotosAlbum(photoTaken, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
        
    

    [picker dismissViewControllerAnimated:YES completion:NULL];


- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo 
    UIAlertView *alert;
    if (error) 
        alert = [[UIAlertView alloc] initWithTitle:@"Error!"
                                           message:[error localizedDescription]
                                          delegate:nil
                                 cancelButtonTitle:@"OK"
                                 otherButtonTitles:nil];
        [alert show];
    

我已尝试通过以下代码执行此操作,但我不知道它将图像保存到我 iPhone 设备中的 App 资源的位置:

    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

    NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"EMS_FOLDER"];

    NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"Files"];

任何参考来源或链接表示赞赏。 感谢您的帮助!

【问题讨论】:

Save Photos to Custom Album in iPhones Photo Library的可能重复 @Desdenova谢谢它保存在不同的文件夹中,我们可以在主专辑文件夹中创建子文件夹吗? 我不明白什么是主专辑文件夹,但您可以创建任意数量的专辑。 @Desdenova对不起,我想问一下,假设我在 iPhone 画廊中创建了一个名为“我的应用程序图像”的专辑文件夹,所以我想知道是否可以在“我的应用图像”专辑。因此用户可以轻松区分所有图像。 不抱歉,没有子专辑。 【参考方案1】:

您可以使用 AssetsLibrary,这将解决您的问题。

- (IBAction)takePhoto

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePickerController.editing = YES;
    imagePickerController.delegate = (id)self;

    [self presentModalViewController:imagePickerController animated:YES];


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo

    [self.library saveImage:image toAlbum:@"Touch Code Magazine" withCompletionBlock:^(NSError *error) 
        if (error!=nil) 
            NSLog(@"Big error: %@", [error description]);
        
    ];

    [picker dismissModalViewControllerAnimated:NO];

这里已经解释过了,很好的教程..

http://www.touch-code-magazine.com/ios5-saving-photos-in-custom-photo-album-category-for-download/

【讨论】:

@StarkThanks,正如与 Desdenova 讨论的那样,它将所有图像保存在名为“Touch Code Magazine”的特定文件夹中,但我想知道是否可以在主文件夹“Touch Code”中创建子文件夹杂志”在画廊中。

以上是关于如何将图像从相机保存到 iPhone 画廊中的特定文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何在特定的imageView上上传特定的图像点击来自android中的画廊和相机

将相机或画廊中的图像保存在 phonegap 的画布中,并在旋转和裁剪后保存

将相机图像上传到 Firebase

如何将图像保存到kotlin中的画廊

将编辑后的图像保存到 iPhone 画廊

如何将 iPhone 画廊中的图像添加到数组 IOS