问题描述
我正在尝试制作一个回忆应用程序,用户可以在其中添加他们希望稍后查看的特定时刻的特定“回忆”。例如,与一个可爱的女孩进行了一次美妙的约会,您想通过将内存添加到应用程序来捕捉这一刻。您可以上传有关当下、日期和其他内容的视频。但是,我不知道如何将此视频上传到 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 (将#修改为@)