swift - 无法使用 swift 将视频上传到 Firebase
问题描述
我试图让用户从他的画廊中选择一个视频并将其保存到 firebase 然后观看,我的代码如下
storage.child("message_videos/\(fileName)").putFile(from: fileUrl, metadata: nil, completion: { metadata, error in
guard error == nil else {
// failed
print("failed to upload video file to firebase for picture")
completion(.failure(StorageErrors.failedToUpload))
return
}
self.storage.child("message_videos/\(fileName)").downloadURL(completion: { url, error in
guard let url = url else {
print("Failed to get download url")
completion(.failure(StorageErrors.failedToGetDownloadUrl))
return
}
let urlString = url.absoluteString
print("download url returned: \(urlString)")
completion(.success(urlString))
})
})
}
和 ViewController 屏幕 我了解到该应用无法从图库中提取视频,但我找不到原因。
if let videoUrl = info[.mediaURL] as? URL {
let mymessageıd = "merhaba"
let fileName = "photo_message_" + mymessageıd.replacingOccurrences(of: " ", with: "-") + ".mov"
StorageManager.shared.uploadMessageVideo(with: videoUrl, fileName: fileName, completion: { result in
switch result {
case .success(let urlString):
print("Uploaded Video: \(urlString)")
guard let url = URL(string: urlString),
let placeholder = UIImage(systemName: "plus") else {
return
}
let vc = AVPlayerViewController()
vc.player = AVPlayer(url: url)
self.present(vc, animated: true)
case .failure(_):
print("error")
}
})
}
解决方案
推荐阅读
- c++ - std::cout 线程安全格式化和 io 操作
- azure-ad-b2c - Azure B2C 自定义 - 更改“使用您的社交帐户登录”文本
- ruby-on-rails - 如何在红宝石中将“字符串”更改为日期月份或年份
- sql - SQL - 按自定义时间范围/间隔分组
- python - 使用 device_token 发送推送通知
- c++ - FFMPEG 在使用 hwaccel (C++) 编码时调整大小
- javascript - 为什么 Chrome 会自动滚动以包含被点击的元素?
- reactjs - TypeError: Cannot read property 'then' of undefined although function returns promise
- kotlin - 试图intent.putExtra("timer", myTimer)?
- sql - Oracle Sql 根据另一个表中的重复项计算表中的行数