AnyChat技术支持论坛

标题: IOS中如何获取本地相册中图片的地址 [打印本页]

作者: 神宇01    时间: 2014-8-8 12:50
标题: IOS中如何获取本地相册中图片的地址
IOS中如何获取本地相册中图片的地址
作者: admin    时间: 2014-8-8 13:55
您好,iOS平台基于安全的原因没有提供获取相册照片地址的API接口,但是可以取得照片对象,有两种解决方案供参考:
1、把取到的对象保存为一个临时文件(可以存在app的当前目录下,app的当前目录下是可以写的),然后传这个临时文件,传完之后再删除;
2、把取到的对象转换为字节缓冲区,用BRAC_TransBufferEx来传。
作者: chenxs    时间: 2014-8-8 15:19
楼上,正解,苹果App 不能直接访问另外的App ,需要经过获取系统相册App里的图片,然后保存到自己App沙盒里面再操作,主要用到用imagepickercontroller的-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info方法。具体Demo如下:
  1. -(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
  2.    
  3.         //先把图片转成NSData(注意图片的格式)
  4.         UIImage* image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
  5.         NSData *data = UIImagePNGRepresentation(image);;
  6.             
  7.         //图片保存的路径
  8.         NSString * DocumentsPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];  
  9.         NSFileManager *fileManager = [NSFileManager defaultManager];
  10.         [fileManager createDirectoryAtPath:DocumentsPath withIntermediateDirectories:YES attributes:nil error:nil];
  11.         [fileManager createFileAtPath:[DocumentsPath stringByAppendingString:@"/image.png"] contents:data attributes:nil];     
  12.         filePath = [[NSString alloc]initWithFormat:@"%@%@",DocumentsPath,  @"/image.png"];
  13.         
  14.         NSLog(@"图片的完整路径是:%@", filePath);  
  15.     }
  16. }
复制代码





欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3