2017-01-10 6 views
1

처음으로 이미지 작업을 할 때 이미지를 선택하여 페이지에 표시 할 수있었습니다. 내 질문은 내가 선택한 이미지의 이름을 어떻게 얻을 수 있습니까? 나는 주변을 검색하고 있었지만 그것을 찾을 수 없었다. 화재 아래에이 코드 당신이 이미지 photoImageView가이미지를 선택할 때 이미지 이름을 얻는 방법

var photoImageView = UIImageView(frame: CGRect(x: 82,y: 300,width: 100,height: 100)) 

선택한 이미지를 표시하는 작은 이미지 뷰, 내가 지금 어떤 제안이 좋은 것 파일 이름을 좀하고 싶습니다이다

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" 
    } 

을 선택할 때마다

+3

하십시오 [검색] (http://stackoverflow.com/search?q : 아이폰 OS 11.0에서 – rmaddy

답변

4

짧은 대답 : 할 수 없습니다. 시스템에서 사용자의 파일 이름을 제공하지 않습니다. 나는 이것에 대해서도 수수께끼를 기억합니다.

메모리에서 가져온 UIImage 객체에 대한 포인터이며, 디스크의 시스템 이름이 지정된 파일의 URL조차도 아닙니다. (I 이미지 선택기를 사용 했으므로 그러나 동안되었습니다.)

+1

아닙니다. 사진 보관함에서 선택한 이미지의 URL을 가져올 수 있습니다. 물론 해당 URL은 URL의 일부로 파일 이름을 갖습니다. 정말로 의미있는 파일 이름은 아니지만 실제로 필요한 경우 얻을 수 있습니다. – rmaddy

+0

@rmaddy, 수정 해 주셔서 감사합니다. 나는 확실히 기억할 수 없었다. 어쨌든 * 의미있는 * 파일 이름을 얻을 수는 없습니다 ... –

0

Photos API (PHAsset & PHAssetResource)는 UIImagePickerController를 사용하여 선택한 이미지의 파일 이름을 얻을 수 있습니다 사용. this question에 솔루션을 게시했습니다.

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

하지만 사용자 이름이나 임의의 파일 이름입니까? –

+0

@DuncanC 운영 체제에서 지정한 임의의 이름입니다 (예 : IMG_xxxx.JPG – Yaiba

0

은 이후 그들이 고른 이미지의 PHAsset를 얻을, 당신이 시도 할 수하기 위해 정보를 사전에 새 키를 도입 = uiimagepickercontroller + image + name)를 게시하십시오.