如何从Firebase存储中获取现有图像的downloadURL

时间:2020-05-16 11:55:58

标签: swift firebase firebase-storage

我将图像推送到Firebase存储中,并且使用“调整大小图像扩展名”,我能够获得具有相同图像名称加_240x320的调整大小的图像。为了让您清楚,我得到了原始图像的downloadURL,但是我不明白为什么我无法获得调整后大小的图像的downloadURL。这是我的代码:

func storeImageInFirebase(){
   let storeageRef = Storage.storage().reference()
   let imageName = UUID().uuidString //+ ".jpg"
   let imagesReference = storeageRef.child("images").child(imageName + ".jpg")
   let imageData = self.imgView.image!.pngData()
   let metaData = StorageMetadata()

   var imageName2 = imageName //+ "_240x320.jpg"
   let imagesReference2 = storeageRef.child("images").child(imageName2 + "_240x320.jpg")

   metaData.contentType = "image/jpg"
   imagesReference.putData(imageData!, metadata: metaData){ (metadate, error)
       in
       guard metadate != nil else{
           print("Error: \(String(describing: error?.localizedDescription))")
           return
       }
      // Fetch the download URL
       imagesReference.downloadURL(completion: {(url, error)
           in
           if error != nil {
               print("Faild to download url:", error!)
               return
           }else{
               // show the url in real database
            print("resized image url ..... \(url?.absoluteString)")
            var theUsedURL = self.imgURL = (url?.absoluteString)!
            self.sendDataToFirebase()

           }
       })

        // Fetch the download URL
         imagesReference2.downloadURL(completion: {(url, error)
         in
         if error != nil {
         print("Faild to download url:", error!)
         return
        }else{
         // show the url in real database
         print("resized image url ..... \(url?.absoluteString)")
         self.imgURL2 = (url?.absoluteString)!
         self.sendDataToFirebase()

         }
     })
   } 
}

我写了两个图像引用,一个用于原始图像,另一个用于调整大小的图像。我可以获取原始图像,但是我无法下载url错误,并且该图像不存在于调整大小后的图像中,在Firebase存储中可以看到该图像。我正尝试从几周内解决此问题,我将不胜感激。

0 个答案:

没有答案