选择图像时如何获取图像名称
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"}
我是第一次使用图像,我已经能够 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"}