我是第一次使用图像,我已经能够选择图像并将其显示在页面上。我的问题是如何获得所选图像的名称?我一直在四处寻找,但没能找到它。每次您选择图像时,下面的代码都会触发
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 任何建议都很好
简短的回答:你不能。系统不会为您提供文件的用户名。我记得也对此感到困惑。
我记得它给你的是一个指向内存中 UIImage 对象的指针,甚至不是指向磁盘上系统命名文件的 URL。 (但我已经有一段时间没有使用图像选择器了。)
从 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"}
您可以在委托函数中使用此代码来从选择器中获取图像名称。
func imagePickerController(_ picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey :
Any]) {
picker.dismiss(animated: true, completion: nil)
if let imgUrl = info[.imageURL] as? URL {
let fileName = imgUrl.lastPathComponent
print(fileName)
}
}