如何在选择图像时获取图像名称

时间:2017-01-10 21:58:31

标签: ios swift swift3 uiimagepickercontroller

我第一次使用图像,我可以选择图像并在页面上显示。我的问题是如何获取所选图像的名称?我一直在寻找,但一直无法找到它。每次选择图像时都会触发以下代码

 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])
    {

        photoImageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage
        self.dismiss(animated: false, completion: nil)
        let FileName = " Image Name of selected file"
    }

photoImageView是

var photoImageView = UIImageView(frame: CGRect(x: 82,y: 300,width: 100,height: 100))

显示所选图像的小型ImageView,我想获取FileName现在任何建议都会很棒

3 个答案:

答案 0 :(得分:4)

简短的回答:你做不到。系统不会为您提供该文件的用户名。我记得也很困惑。

我记得它给你的是一个指向内存中UIImage对象的指针,甚至不是磁盘上系统命名文件的URL。 (但是因为我使用了图像选择器已经有一段时间了。)

答案 1 :(得分:0)

使用Photos API(PHAsset& PHAssetResource),您可以使用UIImagePickerController获取所选图片的文件名。我在this question发布了解决方案。

答案 2 :(得分:0)

从iOS 11.0开始,他们在信息词典中引入了一个新密钥,以获取所选图像的PHAsset,您可以试试这个:

func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [String : Any]) {
if let photoAsset = info[UIImagePickerControllerPHAsset] as? PHAsset {
  if let fileName = photoAsset.value(forKey: "filename") ?? "nonamefound"}