无法将视频上传到iOS 13上的Firebase存储

凯文·丹纳赫

在iOS 12上运作良好。

简单的样板代码:

let storageRef = storage.reference().child("\(profile.studioCode)/\(selected.classId)/\(uploadDate)")

        //Upload file and metadata
        let uploadTask = storageRef.putFile(from: videoURL, metadata: metadata)

        //Listen for state changes and, errors, and completion of the upload
        uploadTask.observe(.resume) { (snapshot) in
            //upload resumed or started
        }

        uploadTask.observe(.pause) { (snapshot) in
            //upload paused
        }

        uploadTask.observe(.progress) { (snapshot) in
            //upload progress
        }

        uploadTask.observe(.success) { (snapshot) in
            //upload successful
        }

        uploadTask.observe(.failure) { (snapshot) in
            //upload failed
        }

给我:

Error Domain=FIRStorageErrorDomain Code=-13000 "An unknown error occurred, please check the server response."

我已经将Cocoapods和Firebase更新到最新版本,尝试允许任意加载,并尝试注销并返回应用程序以重置我的身份验证令牌。在iOS 13中,它会立即在上传时抛出该错误,但在iOS 12中,它会上传完全正常。任何帮助或见识将不胜感激。谢谢!

凯文·丹纳赫

我最终如何解决它:

事实证明,iOS 13中的文件路径与iOS 12中的文件路径不同:

iOS12路径:

文件:///private/var/mobile/Containers/Data/Application/DF9C58AB-8DCE-401B-B0C9-2CCAC69DC0F9/tmp/12FD0C43-F9A0-4DCB-96C3-18ED83FED424.MOV

iOS13路径:

文件:///private/var/mobile/Containers/Data/PluginKitPlugin/5DFD037B-AC84-463B-84BD-D0C1BEC00E4C/tmp/trim.7C8C6CD1-97E7-44D4-9552-431D90B525EA.MOV


注意额外的“。” 在iOS13路径中。我的解决方案是在我的imagePickerController didFinishPickingMediaWithInfo函数内部,将文件复制到另一个临时目录,从那里上传它,然后删除副本。

 do {
            if #available(iOS 13, *) {
                //If on iOS13 slice the URL to get the name of the file
                let urlString = videoURL.relativeString
                let urlSlices = urlString.split(separator: ".")
                //Create a temp directory using the file name
                let tempDirectoryURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true)
                let targetURL = tempDirectoryURL.appendingPathComponent(String(urlSlices[1])).appendingPathExtension(String(urlSlices[2]))

                //Copy the video over
                try FileManager.default.copyItem(at: videoURL, to: targetURL)

                picker.dismiss(animated: true) {
                    self.videoRecorded = false
                    self.showUpload(targetURL)
                }
            }
            else {
                //If on iOS12 just use the original URL
                picker.dismiss(animated: true) {
                    self.videoRecorded = false
                    self.showUpload(videoURL)
                }
            }
        }
        catch let error {
            //Handle errors
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iOS上以编程方式将视频上传到Vine?

来自分类Dev

在iOS上使用AWS将视频文件上传到现有存储桶时出现问题

来自分类Dev

在离子框架中使用ngCordova($ cordovaCapture)将视频上传到Firebase

来自分类Dev

将图像上传到Firebase

来自分类Dev

从Cordova应用程序将图像上传到Firebase存储

来自分类Dev

使用REST API将文件上传到Firebase存储

来自分类Dev

将图片从URL上传到Firebase存储

来自分类Dev

使用iOS SDK将文件上传到Firebase时,总上传计数为0

来自分类Dev

如何使用angularfire2将视频上传到Firebase?

来自分类Dev

使用cordovaFileTransfer将视频上传到Firebase(3.0)存储

来自分类Dev

从FileField中的Django模型将图像上传到Firebase存储

来自分类Dev

将Facebook图像URL上传到Firebase存储

来自分类Dev

如何检查将图像上传到Firebase存储的进度

来自分类Dev

从Android应用程序将文件上传到Firebase存储

来自分类Dev

使用Lambda函数将视频上传到s3存储桶,将视频详细信息上传到dynamo数据库

来自分类Dev

无法将图片上传到活动存储

来自分类Dev

如何将视频上传到Firebase Storage for React App

来自分类Dev

响应本机无法将图像上传到Firebase

来自分类Dev

无法从抖动的网络将图像上传到Firebase存储

来自分类Dev

无法将VHD文件上传到Azure存储

来自分类Dev

从抖动将图像上传到Firebase存储

来自分类Dev

从Rails上的ruby应用程序将视频上传到youtube

来自分类Dev

通过IOS应用程序将视频上传到Google驱动器上

来自分类Dev

无法将数据上传到本地数据存储

来自分类Dev

Rails:将视频临时存储在Heroku上以便上传到S3

来自分类Dev

无法将大尺寸视频上传到Firebase

来自分类Dev

如何使用angularfire2将视频上传到Firebase?

来自分类Dev

使用cordovaFileTransfer将视频上传到Firebase(3.0)存储

来自分类Dev

无法上传到 Firebase/FireStorage?

Related 相关文章

  1. 1

    如何在iOS上以编程方式将视频上传到Vine?

  2. 2

    在iOS上使用AWS将视频文件上传到现有存储桶时出现问题

  3. 3

    在离子框架中使用ngCordova($ cordovaCapture)将视频上传到Firebase

  4. 4

    将图像上传到Firebase

  5. 5

    从Cordova应用程序将图像上传到Firebase存储

  6. 6

    使用REST API将文件上传到Firebase存储

  7. 7

    将图片从URL上传到Firebase存储

  8. 8

    使用iOS SDK将文件上传到Firebase时,总上传计数为0

  9. 9

    如何使用angularfire2将视频上传到Firebase?

  10. 10

    使用cordovaFileTransfer将视频上传到Firebase(3.0)存储

  11. 11

    从FileField中的Django模型将图像上传到Firebase存储

  12. 12

    将Facebook图像URL上传到Firebase存储

  13. 13

    如何检查将图像上传到Firebase存储的进度

  14. 14

    从Android应用程序将文件上传到Firebase存储

  15. 15

    使用Lambda函数将视频上传到s3存储桶,将视频详细信息上传到dynamo数据库

  16. 16

    无法将图片上传到活动存储

  17. 17

    如何将视频上传到Firebase Storage for React App

  18. 18

    响应本机无法将图像上传到Firebase

  19. 19

    无法从抖动的网络将图像上传到Firebase存储

  20. 20

    无法将VHD文件上传到Azure存储

  21. 21

    从抖动将图像上传到Firebase存储

  22. 22

    从Rails上的ruby应用程序将视频上传到youtube

  23. 23

    通过IOS应用程序将视频上传到Google驱动器上

  24. 24

    无法将数据上传到本地数据存储

  25. 25

    Rails:将视频临时存储在Heroku上以便上传到S3

  26. 26

    无法将大尺寸视频上传到Firebase

  27. 27

    如何使用angularfire2将视频上传到Firebase?

  28. 28

    使用cordovaFileTransfer将视频上传到Firebase(3.0)存储

  29. 29

    无法上传到 Firebase/FireStorage?

热门标签

归档