web-dev-qa-db-fra.com

Comment obtenez-vous le nom du fichier image de UIImagePickerController?

Je ne reçois pas le nom de l'image de la photothèque. Quelqu'un ici sait comment obtenir le nom de l'image?

Remarque: PHAsset.fetchAssets(withALAssetURLs: [imageURL], options: nil) this is obsolète.

Swift seulement

Merci

3
Akshay Sood

J'ai trouvé un moyen

if let asset = info["UIImagePickerControllerPHAsset"] as? PHAsset{
            if let fileName = asset.value(forKey: "filename") as? String{
            print(fileName)
            }
        }

Cela vous renverra le nom de fichier réel dans la photothèque.

6
Akshay Sood

Voulez-vous dire le nom du fichier image? Si oui, cela devrait vous aider. Dans votre UIImagePickerControllerDelegate:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    guard let fileUrl = info[UIImagePickerControllerImageURL] as? URL else { return }
    print(fileUrl.lastPathComponent)
}
4
Terje

Essayez avec le code ci-dessous 

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    if let asset = info[UIImagePickerControllerPHAsset] as? PHAsset {
        if let fileName = (asset.value(forKey: "filename")) as? String {
          print(\(fileName))
        }
    }

    // Other Stuff
}
3
Riddhi Jarsaniya

S'il vous plaît, essayez celui-la.

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    if let asset = info[UIImagePickerControllerPHAsset] as? PHAsset {
        let assetResources = PHAssetResource.assetResources(for: asset)
        print(assetResources.first!.originalFilename)
    }

    dismiss(animated: true, completion: nil)
} 
0
AMP

UIImagePickerControllerPHAsset est nil si vous n'êtes pas autorisé à accéder à la photothèque. Le système d'exploitation ne vous demandera pas automatiquement et vous donnera quand même accès au fichier (je n'ai aucune idée de la logique derrière tout ça!) Mais le dictionnaire PHAsset est le dictionnaire d'information qui sera nul!

0
AXE