如何从新的 Firebase 存储下载和查看图像?
How to download and view images from the new Firebase Storage?
我可以将图片上传到 Firebase 存储,但我无法下载它们。这是我下载图片的代码:
let storage = FIRStorage.storage()
let localURL : NSURL! = NSURL(string: "file:///Documents/co.png")
// i also tried let localURL : NSURL! = NSURL.fileURLWithPath("file:///Documents/co.png")
func download() {
let storageRef = storage.referenceForURL("gs://project-5547819591027666607.appspot.com")
let imageRef = storageRef.child("co.png")
let downloadTask = imageRef.writeToFile(localURL) { (URL, error) -> Void in
if (error != nil) {
print(error?.localizedDescription)
}
else {
self.imageView.image = UIImage(data: data!)
}
}
}
我正在接收 - 可选("An unknown error occurred, please check the server response.")
另外,一旦我下载了它们,我将如何查看该图像?
为了查看图像是否已下载,我创建了一个 UIImageView 并在名为 "imageView" 的情节提要中为其设置了一个出口,然后将下载的图像设置为 UIImageView。
self.imageView.image = UIImage(data: data!)
尝试
首先使用
获取对您要下载的图像的引用
let reference = FIRStorage.storage().reference("uploads/sample.jpg")
如果您知道图像的大小很小 - 例如最大 1-2 mb。下载内存中的图像
reference.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
if (error != nil) {
print(error)
} else {
let myImage: UIImage! = UIImage(data: data!)
}
}
这将是直接从 Firebase 存储下载的最快捷的方式。
但是有些情况下您需要进度块和某些其他东西,例如缓存。在这种情况下,您可以使用任何第三方(如 Alamofire)从您从 Firebase 存储获得的 url 下载图像。
要获得 url 做这样的事情
reference.downloadURLWithCompletion { (URL, error) -> Void in
if (error != nil) {
// Handle any errors
} else {
print(URL)
// download image using NSURLSession or Alamofire
}
}
我可以将图片上传到 Firebase 存储,但我无法下载它们。这是我下载图片的代码:
let storage = FIRStorage.storage()
let localURL : NSURL! = NSURL(string: "file:///Documents/co.png")
// i also tried let localURL : NSURL! = NSURL.fileURLWithPath("file:///Documents/co.png")
func download() {
let storageRef = storage.referenceForURL("gs://project-5547819591027666607.appspot.com")
let imageRef = storageRef.child("co.png")
let downloadTask = imageRef.writeToFile(localURL) { (URL, error) -> Void in
if (error != nil) {
print(error?.localizedDescription)
}
else {
self.imageView.image = UIImage(data: data!)
}
}
}
我正在接收 - 可选("An unknown error occurred, please check the server response.")
另外,一旦我下载了它们,我将如何查看该图像?
为了查看图像是否已下载,我创建了一个 UIImageView 并在名为 "imageView" 的情节提要中为其设置了一个出口,然后将下载的图像设置为 UIImageView。
self.imageView.image = UIImage(data: data!)
尝试
首先使用
获取对您要下载的图像的引用let reference = FIRStorage.storage().reference("uploads/sample.jpg")
如果您知道图像的大小很小 - 例如最大 1-2 mb。下载内存中的图像
reference.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
if (error != nil) {
print(error)
} else {
let myImage: UIImage! = UIImage(data: data!)
}
}
这将是直接从 Firebase 存储下载的最快捷的方式。
但是有些情况下您需要进度块和某些其他东西,例如缓存。在这种情况下,您可以使用任何第三方(如 Alamofire)从您从 Firebase 存储获得的 url 下载图像。
要获得 url 做这样的事情
reference.downloadURLWithCompletion { (URL, error) -> Void in
if (error != nil) {
// Handle any errors
} else {
print(URL)
// download image using NSURLSession or Alamofire
}
}