gpt4 book ai didi

IOS Firebase 存储文件上传 - 对象不存在

转载 作者:搜寻专家 更新时间:2023-11-01 06:14:00 32 4
gpt4 key购买 nike

我正在尝试在 IOS (Swift) 上使用 Firebase 将用户选择的图像文件上传到 Firebase 存储。我已经对用户进行了身份验证,所以这不是问题所在。下面你可以看到我正在尝试使用的 View Controller ,但是当它尝试上传图像时,我收到一条错误消息:

Object images/vesVLmkqS2cCLQTJOjv9CFe8mh22/0524729A-855E-4E63-8C11-50F4C4B1A905 does not exist.

(在代码中可以看到这条路径的中间部分是用户uid,所以我肯定是认证用户)

之前我尝试简化此路径以测试“myimage.png”之类的值,但没有帮助,我遇到了同样的错误。

我已经尽我所能,请帮助我,因为我在 firebase 文档中找不到任何相关内容。

下面的代码会在加载 View 时自动打开图像选择器。如果用户选择图像,我们将其设置为 ImageView 。当用户点击上传按钮时, Controller 尝试将文件上传到 firebase 存储。

import UIKit
import Firebase

class ShareViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

@IBOutlet weak var imageView: UIImageView!

let imagePicker = UIImagePickerController()

override func viewDidLoad() {
super.viewDidLoad()
imagePicker.delegate = self
imagePicker.allowsEditing = false
imagePicker.sourceType = .photoLibrary

present(imagePicker, animated: true, completion: nil)
}

@IBAction func onPictureTapped(_ sender: Any) {
present(imagePicker, animated: true, completion: nil)
}

@IBAction func onUploadClicked(_ sender: Any) {
if let pickedImage = imageView.image, let imageData = UIImagePNGRepresentation(pickedImage) {
let storageRef = Storage().reference()
let imageRef = storageRef.child("images/\(Auth.auth().currentUser!.uid)/\(NSUUID().uuidString)")

imageRef.putData(imageData, metadata: nil) { (metadata, error) in
if error != nil {
NSLog(error!.localizedDescription)
}

self.navigationController?.popToRootViewController(animated: true)
}
}
}

internal func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
imageView.contentMode = .scaleAspectFit
imageView.image = pickedImage
}

self.dismiss(animated: true, completion: nil)
}
}

最佳答案

好的,我发现了问题:

// Instead of this:
Storage().reference()

// You need to use this
Storage.storage().reference()

这很荒谬,没有关于此的警告,应用程序也不会崩溃。很烦人,找了至少5个小时

关于IOS Firebase 存储文件上传 - 对象不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49119944/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com