我正在使用ImagePicker和UIImagePickerController的SwiftUI。它可以选择一个图像。但我也想知道原始图像文件名。有办法做到这一点吗?
我已经尝试使用以下代码:
if let url = info[UIImagePickerController.InfoKey.imageURL] as? URL {
imagePicker.fileName = url.lastPathComponent
imagePicker.fileType = url.pathExtension
}
但上面的代码给出了临时图像文件名。
我尝试过,但无法从UIImage中获取文件名(url(。
以下代码暂时解决了问题。
if let url = info[UIImagePickerController.InfoKey.referenceURL] as? URL {
let assets = PHAsset.fetchAssets(withALAssetURLs: [url], options: nil)
if let firstAsset = assets.firstObject,
let firstResource = PHAssetResource.assetResources(for: firstAsset).first {
imagePicker.fileName = firstResource.originalFilename
} else {
imagePicker.fileName = "IMG_random_string"
}
} else {
imagePicker.fileName = "IMG_random_string"
}
但这里的referenceURL和fetchAssets是折旧的。我尝试了PHPickerViewController,但再次找不到如何从中获取选定的图像文件名。
谢谢!:(
如果需要访问选中的UIImage
:,可以使用originalImage
属性
if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
...
}