0

我正在尝试将使用 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
4

0 回答 0