如何解决如何使用 Swift/SwiftUI 从 ImagePicker 获取选定的图像文件名
我通过 UIImagePickerController 将 ImagePicker 与 SwiftUI 结合使用。它可以选择一个图像。但我也想知道原始图像文件名。有没有办法做到这一点?
我已经尝试过使用以下代码:
if let url = info[UIImagePickerController.InfoKey.imageURL] as? URL {
imagePicker.fileName = url.lastPathComponent
imagePicker.fileType = url.pathExtension
}
但上面的代码给出了临时图像文件名。
有人可以帮忙吗?
感谢和问候,
苏迪普
解决方法
如果您需要访问所选的 originalImage
,可以使用 UIImage
属性:
if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
...
}
,
我尝试过,但无法从 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,但还是找不到如何从中获取选定的图像文件名。
谢谢! :))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。