为啥图像未存储在 Firebase 存储中且 URL 为零?

Posted

技术标签:

【中文标题】为啥图像未存储在 Firebase 存储中且 URL 为零?【英文标题】:Why image is not storing in Firebase storage and URL is nil?为什么图像未存储在 Firebase 存储中且 URL 为零? 【发布时间】:2017-03-16 23:02:41 【问题描述】:

所以我有两个问题:

所以我有一个对象,其中两个属性正在存储图像。我成功地将图像存储在 Firebase 存储中,并将图像名称存储在数据库中。假设我有两张照片,我只有一张。 我只能访问图片的名称,但每当我尝试打印出 url 时,它总是说nil

这里有一些代码sn-p:

//MARK: - Make Object
func makeObjectPost(title: String, imageTitle: UIImage, content: [String: AnyObject]) 
    //Make a new post object
    let postObject = PostModel()
    postObject.title = title
    postObject.imageTitle = returningImageData(image: imageTitle)
    postObject.content = content
    //Save the new object to firebase
    postObject.save  (ref, error) in
        if error != nil 
            print(error?.localizedDescription)
        
    


makeObjectPost(title: "Third Post", imageTitle: #imageLiteral(resourceName: "william-iven-19844"), content: makeContentDict(contentPost: currPost))

【问题讨论】:

我的回答对你有帮助吗? 【参考方案1】:

首先,我认为将带有扩展名(例如.jpeg)的图像存储在存储中是更好的做法。 因此,当您将新对象保存到数据库时,您存储了一个图像名称。 要获取图像,请尝试使用以下内容:

let yourImageRef = FIRStorage.storage().reference(withPath: "someStartingPart/images").child(yourObject.imageTitle + ".jpeg")

yourImageRef.downloadURL  (URL, error) in
    // do everything you want

【讨论】:

以上是关于为啥图像未存储在 Firebase 存储中且 URL 为零?的主要内容,如果未能解决你的问题,请参考以下文章

图像未在 Firebase 存储中保存为 jpeg

为啥这不能检索 Firebase 存储上图像的下载 URL?

Android:为啥firebase Push键不改变

firebase 存储 cors 奇怪的行为

下载 Firebase 存储数据时,DispatchGroup 未正确执行

未调用 Firebase 存储完成处理程序