Tim*_*sen 3 ios firebase swift 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!)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到 - 可选("发生未知错误,请检查服务器响应.")
一旦我下载它们我将如何查看该图像?
为了试图查看图像是否已下载,我创建了一个UIImageView并在故事板中为其设置了一个名为"imageView"的插座,然后将下载的图像设置为UIImageView.
self.imageView.image = UIImage(data: data!)
Run Code Online (Sandbox Code Playgroud)
尝试
首先参考您要下载的图像
let reference = FIRStorage.storage().reference("uploads/sample.jpg")
Run Code Online (Sandbox Code Playgroud)
如果您知道图像的大小很低 - 最大1-2 MB.在内存中下载图像
reference.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
if (error != nil) {
print(error)
} else {
let myImage: UIImage! = UIImage(data: data!)
}
}
Run Code Online (Sandbox Code Playgroud)
这将是直接从Firebase存储下载的最快捷方式.
但是,有些情况下您需要进度块和某些其他内容,如缓存.在这种情况下,您可以使用Alamofire等任何第三方从您从Firebase存储中获取的网址下载图像.
要获取网址,请执行此类操作
reference.downloadURLWithCompletion { (URL, error) -> Void in
if (error != nil) {
// Handle any errors
} else {
print(URL)
// download image using NSURLSession or Alamofire
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6091 次 |
| 最近记录: |