繁体   English   中英

尝试将图像上传到 firebase (Swift) 时出错

[英]Getting an error when trying to upload image to firebase (Swift)

我有以下代码:

func upload() {
        let localFile = usersImg!

        // Create the file metadata
        let metadata = StorageMetadata()
        metadata.contentType = "image/jpeg"
        let storageRef = Storage.storage().reference()

        // Upload file and metadata to the object 'images/mountains.jpg'
        let uploadTask = storageRef.putFile(from: localFile, metadata: metadata)

        // Listen for state changes, errors, and completion of the upload.
        uploadTask.observe(.resume) { snapshot in
          // Upload resumed, also fires when the upload starts
        }

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

        uploadTask.observe(.progress) { snapshot in
          // Upload reported progress
          let percentComplete = 100.0 * Double(snapshot.progress!.completedUnitCount)
            / Double(snapshot.progress!.totalUnitCount)
        }

        uploadTask.observe(.success) { snapshot in
          // Upload completed successfully
        }

        uploadTask.observe(.failure) { snapshot in
            if let error = snapshot.error as NSError? {
            switch (StorageErrorCode(rawValue: error.code)!) {
            case .objectNotFound:
              // File doesn't exist
              break
            case .unauthorized:
              // User doesn't have permission to access file
              break
            case .cancelled:
              // User canceled the upload
              break

            /* ... */

            case .unknown:
              // Unknown error occurred, inspect the server response
              break
            default:
              // A separate error occurred. This is a good place to retry the upload.
              break
            }
          }
        }
            
    }

userImg变量只是用户选择的图像,如果我要打印它,它看起来像这样:

Optional(file:///var/mobile/Media/DCIM/100APPLE/IMG_0030.PNG)

但是,当我运行我的代码并调用该方法时,出现以下错误:

Thread 12: "*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]"

这是什么意思,我做错了什么。 (顺便说一句,我尝试了很多不同的方法来将 url 上传到 firebase,但是对于每个人我都遇到了奇怪的错误,所以这段代码直接来自 firebase 网站。

我不能保证任何事情,因为我没有使用相同的代码,尽管我不得不更改我的 firebase 存储的规则,这很有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM