我尝试使用Firebase存储功能,但无法在imageview中显示下载的图像。下载成功但没有显示。如果我使用它显示的资产中的图片。为什么这不起作用?Swift 3:从Firebase下载的图片并保存到本地存储中,但未显示在应用程序中
DownloadViewController:
import UIKit
import FirebaseStorage
import Firebase
@objc(DownloadViewController)
class DownloadViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var statusTextView: UITextView!
var storageRef: FIRStorageReference!
override func viewDidLoad() {
super.viewDidLoad()
storageRef = FIRStorage.storage().reference()
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory = paths[0]
let filePath = "file:\(documentsDirectory)/myimage.jpg"
let storagePath = UserDefaults.standard.object(forKey: "storagePath") as! String
// [START downloadimage]
storageRef.child(storagePath).write(toFile: URL.init(string: filePath)!,
completion: { (url, error) in
if let error = error {
print("Error downloading:\(error)")
self.statusTextView.text = "Download Failed"
return
}
self.statusTextView.text = "Download Succeeded!"
print("filepath: "+filePath)
let image = UIImage.init(contentsOfFile: filePath)
self.imageView.image = image
self.imageView.layoutIfNeeded()
self.imageView.clipsToBounds = true
})
// [END downloadimage]
}
}
在将图像写入文件之前,您不应下载图像吗?对我而言,您很难将其写入Firebase存储并在Firebase存储中下载网址的内容。 –