我嘗試使用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存儲中下載網址的內容。 –