Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何使用存储外的映像。引用(withPath:“PATH”).getData方法_Swift_Firebase_Firebase Storage - Fatal编程技术网

Swift 如何使用存储外的映像。引用(withPath:“PATH”).getData方法

Swift 如何使用存储外的映像。引用(withPath:“PATH”).getData方法,swift,firebase,firebase-storage,Swift,Firebase,Firebase Storage,我一直在尝试使用我从firebase下载的图像,方法如下:创建一个数组并将其附加到其中。每当我试图用那张图片的时候 if let data = data, let imge1 = UIImage(data: data) { 我无法看到或显示它 有没有一种方法可以在该函数之外使用图像 以下是获取图像的代码: let storage = Storage.storage() let imageReference = storage.reference(withPath: "img/be

我一直在尝试使用我从firebase下载的图像,方法如下:创建一个数组并将其附加到其中。每当我试图用那张图片的时候

 if let data = data, let imge1 = UIImage(data: data) {
我无法看到或显示它

有没有一种方法可以在该函数之外使用图像

以下是获取图像的代码:

 let storage = Storage.storage()
     let imageReference = storage.reference(withPath: "img/betos.png")
     imageReference.getData(maxSize: 1 * 1024 * 1024) { data, error in
         if let error = error {
             print("Could not retrieve profile image: \(error.localizedDescription)")
             return
         }

         if let data = data, let imge1 = UIImage(data: data) {
             //self.profileButton.setImage(profileImage, for: .normal)
             print("success")
             logoImages.append(imge1)
         }
     }
下面是我如何使用它的:

 let cellView = UIImageView()
 cellView.image =  logoImages.first
 cellView.frame = CGRect(x:50, y: 50, width: 50, height: 50)
 view.addSubview(cellView)

对于web示例,此处说明了图像的一般用途:

这是如果您没有首先生成SignedUrl

在您的情况下,当您只想显示来自web的文件时,我建议通过云函数和google cloud admin api将下载url设置为元数据

云功能如下所示: const functions=require('firebase-functions')

完成此操作后,您可以在客户端执行此操作以获取下载url

// Create reference to the file whose metadata we want to retrieve
let forestRef = storageRef.child("images/forest.jpg")

// Get metadata properties
forestRef.getMetadata { metadata, error in
  if let error = error {
    // Uh-oh, an error occurred!
  } else {
    // Metadata now contains the metadata for 'images/forest.jpg'
  }
}
swift代码取自此处:

// Create reference to the file whose metadata we want to retrieve
let forestRef = storageRef.child("images/forest.jpg")

// Get metadata properties
forestRef.getMetadata { metadata, error in
  if let error = error {
    // Uh-oh, an error occurred!
  } else {
    // Metadata now contains the metadata for 'images/forest.jpg'
  }
}