Как я могу отправить UIImage в Firestore? - PullRequest
0 голосов
/ 04 апреля 2019

Можно ли отправить в мою базу данных Firestore, не сохраняя это изображение на фотографии?Я вижу, как Firestore хочет ссылку на него, и единственный способ - это выбрать фотографию из фотографий.С моим приложением мне кажется излишним запрашивать разрешение на их фотографии, поскольку я просто хочу отправить фотографию, которая была сделана прямо в базу данных.

1 Ответ

0 голосов
/ 04 апреля 2019

Если я правильно понимаю ваш вопрос, вы определенно можете сохранить фотографию, снятую с камеры, прямо в базу данных, не спрашивая разрешения на доступ к фотогалерее.

Я приведу вам пример коданиже:

    func photoOutput(_ captureOutput: AVCapturePhotoOutput, didFinishProcessingPhoto photoSampleBuffer: CMSampleBuffer?, previewPhoto previewPhotoSampleBuffer: CMSampleBuffer?, resolvedSettings: AVCaptureResolvedPhotoSettings, bracketSettings: AVCaptureBracketedStillImageSettings?, error: Error?) {

        let imageData = AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: photoSampleBuffer!, previewPhotoSampleBuffer: previewPhotoSampleBuffer!)

        //set the picture taken as UIImage just in case you'd like to preview the image before saving it
        //let image = UIImage(data: imageData!)

        let storageRef = Storage.storage().reference().child("\(yourPictureName).jpg")
            guard let data = imageData else { return }
            storageRef.putData(data, metadata: nil){ (metadata, error) in
                guard metadata != nil else {
                    return
                }
                storageRef.downloadURL(completion: { (url, error) in
                    guard let downloadURL = url?.absoluteString else { return }

                    // save this URL to your database as usual

                })
            }
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...