我正在尝试将使用 UIImagePickerController 选择的视频文件上传到 Firebase 存储,但没有成功。我的代码是
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .savedPhotosAlbum
imagePicker.allowsEditing = false
imagePicker.mediaTypes = [kUTTypeImage as String, kUTTypeMovie as String]
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let info = convertFromUIImagePickerControllerInfoKeyDictionary(info)
let mediaType = info[UIImagePickerController.InfoKey.mediaType.rawValue] as AnyObject
picker.dismiss(animated: true, completion: {
if mediaType as! String == kUTTypeMovie as String {
let videoURL = info[UIImagePickerController.InfoKey.mediaURL.rawValue] as? URL
info[UIImagePickerController.InfoKey.mediaURL.rawValue] as? NSURL
print("VIDEO URL: \(videoURL!)")
let storageRef = storage.reference()
let metadata = StorageMetadata()
metadata.contentType = "video/mp4"
let videoRef = storageRef.child("chatVideo/\(videoUrl)/")
videoRef.putFile(from: videoURL as URL, metadata: metadata, completion: { (metadata, error) in
if error == nil {
videoRef.downloadURL { (url, error) in
guard let downloadURL = url else {
return
}
complition(downloadURL.absoluteString,nil)
}
print("Successful video upload")
}
else{
print(error?.localizedDescription as Any)
}
})
}
else{
print("Image file selected")
}
})
}
选择视频并尝试上传后出现以下错误
Failed to issue sandbox extension for file file:///private/var/mobile/Containers/Data/PluginKitPlugin/712AE51B-86C2-441C-A5C5-04C2111EFA25/tmp/trim.A551D9FA-FD79-4EAA-88DF-F72B6DAB35E6.MOV, errno = 1