如何获取iphone库中图像的路径

Rav*_*avi 4 iphone path objective-c uiimagepickercontroller ios

我需要从iphone库上传图像,但我没有得到所选图像的路径(使用图像选择器)

在图像选择器委托方法中,我正在执行以下操作

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

    NSString *strImagePath = [info valueForKey:UIImagePickerControllerReferenceURL];
    NSString *strImagePath1 = [info valueForKey:UIImagePickerControllerMediaURL];
    NSLog(@"%@",strImagePath);
    NSLog(@"%@",strImagePath1);
    NSLog(@"%@",info);

}
Run Code Online (Sandbox Code Playgroud)

并且信息字典包含以下键值

{
    UIImagePickerControllerMediaType = "public.image";
    UIImagePickerControllerOriginalImage = "<UIImage: 0x16adc0>";
    UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=1000000153&ext=PNG";
}
Run Code Online (Sandbox Code Playgroud)

我使用键UIImagePickerControllerReferenceURL的值作为将其上传到FTP的图像路径,但我无法上传文件,可能我采取的路径不正确.

任何人都可以帮助我如何使用图像选择器获取所选图像的实际路径

Sud*_*ari 13

可能对你有帮助

[picker dismissModalViewControllerAnimated:YES];
imageView.image= [info objectForKey:@"UIImagePickerControllerOriginalImage"];
NSData *webData = UIImagePNGRepresentation(imageView.image);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *localFilePath = [documentsDirectory stringByAppendingPathComponent:png];
[webData writeToFile:localFilePath atomically:YES];
NSLog(@"localFilePath.%@",localFilePath);

UIImage *image = [UIImage imageWithContentsOfFile:localFilePath];
Run Code Online (Sandbox Code Playgroud)