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

How can I get the image name when selecting an image

我是第一次使用图像,我已经能够 select 图像并将其显示在页面上。我的问题是如何获得图像的名称 selected ?我一直在四处寻找,但没能找到它。每次您 select 图片

时,下面的代码都会触发
 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))

一个显示 selected 图像的小 ImageView,我现在想获取 FileName 任何建议都很好

简答:你不能。系统不会为您提供文件的用户名。我记得也对此感到困惑。

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

使用Photos API (PHAsset & PHAssetResource) 您可以获取使用UIImagePickerController 选择的图像的文件名。我在 .

中发布了解决方案

从 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"}