Ios 从swift 4中的摄像机获取图像路径

Ios 从swift 4中的摄像机获取图像路径,ios,xcode,swift4,Ios,Xcode,Swift4,我有一个按钮,在ios中显示默认的摄像头屏幕,当我拍照时,它会保存在手机中,然后我想获取照片 UIImagePickerController参考URL 因为我想将照片发送到我的服务器,所以当我试图获取UIImagePickerControllerReferenceURL时,应用程序崩溃并获取值为零的错误 这是我的代码: @objc func take_photo(){ if UIImagePickerController.isSourceTypeAvailable(UIImage

我有一个按钮,在ios中显示默认的摄像头屏幕,当我拍照时,它会保存在手机中,然后我想获取照片

UIImagePickerController参考URL

因为我想将照片发送到我的服务器,所以当我试图获取UIImagePickerControllerReferenceURL时,应用程序崩溃并获取值为零的错误

这是我的代码:

@objc func take_photo(){
        if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera){
            let camera_picker = UIImagePickerController()
            camera_picker.delegate = self
            camera_picker.sourceType = .camera
            camera_picker.allowsEditing = false
            self.present(camera_picker, animated: true, completion: nil)
        }
    }


func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        if let img_original = info["UIImagePickerControllerOriginalImage"] as? UIImage{
            pickerImg_seleccionada = img_original
        }
        UIImageWriteToSavedPhotosAlbum(pickerImg_seleccionada!, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)
        if let img_seleccionada = pickerImg_seleccionada {
            img.display(image: img_seleccionada)
            img.contentMode = .scaleAspectFit
            let imgData: NSData = NSData(data: UIImageJPEGRepresentation((pickerImg_seleccionada)!, 0.9)!)
            let imageSize: Int = imgData.length
            img_size = Double(imageSize) / (1024.0 * 1024.0)
            rep_imagen = UIImageJPEGRepresentation((pickerImg_seleccionada)!, 0.9)
            let url_imagen = info["UIImagePickerControllerReferenceURL"] as! URL //here is the error
            image_name = url_imagen.lastPathComponent
        }

        dismiss(animated: true, completion: nil)
    }

    @objc func image(_ image: UIImage, didFinishSavingWithError error: Error?, contextInfo: UnsafeRawPointer) {
        if let error = error {
            // we got back an error!
            print("no guardada")
        } else {
            print("guardada")
        }
    }
我怎么解决这个问题呢?我认为这个过程很好,因为图像是存储的,我可以得到img_大小和rep_imagen,但不能得到url_imagen


提前感谢

当用户使用图像选择器控制器捕获照片时,信息字典中没有UIImagePickerControllerReferenceURL键。没有任何内容保存到磁盘。捕获的图像是UIImagePickerControllerOriginalImage,您已经有了它。就这些了

那么,我如何才能获得路径,或者我必须向我的服务器发送什么?我不明白你在问什么,或者你的目标是什么。你有图像数据。没有可用或需要的“路径”。你问我为什么要撞车,我告诉你了。