微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Firebase 或其他存储将视频上传到我的应用

如何解决如何使用 Firebase 或其他存储将视频上传到我的应用

我正在尝试制作一个回忆应用程序,用户可以在其中添加他们希望稍后查看的特定时刻的特定“回忆”。例如,与一个可爱的女孩进行了一次美妙的约会,您想通过将内存添加到应用程序来捕捉这一刻。您可以上传有关当下、日期和其他内容的视频。但是,我不知道如何将此视频上传到 Firebase Storage,然后在我的应用中显示。我看过很多教程,但没有一个适合我的具体情况。 当我想添加照片时,我使用此功能,但视频如何?

var imageURL = ""

private func agregarRecuerdoFirebase() {
        guard let imagenSeleccionada = self.imagen else {
            print("No hay imagen")
            return
        }
        guard let imagenData = imagenSeleccionada.jpegData(compressionQuality: 0.4) else {
            return
        }
        
        let storageRef = Storage.storage().reference(forURL: "gs://chinahub-68043.appspot.com")
        let storageRecuerdos = storageRef.child("recuerdos").child(id)
        
        let Metadata = StorageMetadata()
        Metadata.contentType = "image/png"
        storageRecuerdos.putData(imagenData,Metadata: Metadata) { (storageMetaData,error) in
            if error != nil {
                print(error?.localizedDescription)
                return
            }
            
            storageRecuerdos.downloadURL(completion: { (url,error) in
                if let MetaImageURL = url?.absoluteString {
                    self.imageURL = MetaImageURL
                    print(MetaImageURL)
                    var ref: DocumentReference? = nil
                    ref = self.db.collection("recuerdos").addDocument(data: [
                        
                        "lugar": self.txtLugar.text ?? "","fecha": self.txtFecha.text ?? "","descripcion": self.tvDescripcion.text ?? "","imagen": MetaImageURL
                    
                    ]) { err in
                        if let err = err {
                            print("Error agregando recuerdo: \(err)")
                        } else {
                            print("Recuerdo agregado con ID: \(ref!.documentID)")
                        }
                    }
                }
            })
        }
        self.backToRecuerdos()
    }

然后为了显示图像,我构建了这个扩展并执行了以下代码

extension UIImageView {
    func setimage(from urlAddress: String?) {
        guard let urlAddress = urlAddress,let url = URL(string: urlAddress) else { return }
        let task = URLSession.shared.dataTask(with: url) { data,response,error in
            guard let data = data,error == nil else { return }
            dispatchQueue.main.async {
                self.image = UIImage(data: data)
            }
        }
        task.resume()
    }
}

   cell.lblNumero.text = "Recuerdo #\(row+1)"
    cell.lblFecha.text = fecha
    cell.lblLugar.text = lugar
    cell.imgFoto.setimage(from: imagenURL)
    cell.lblDescripcion.text = descripcion

除了视频,我怎么能做同样的事情?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。