如何将图像从相机保存到 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中的画廊和相机