Я сохраняю изображение FireBase в каталоге документов! Для уникальности, мой каталог документов называется firebase image name! У меня есть проверка с условием, что если имя каталога firebase не существует в моем каталоге документов, то сохраните это изображение в каталоге документов !!
- Я проверяю, означает ли это имя firebase, что оно сохраняется в каталоге документов, затем оно получает изображение каталога документов, если нет, то оно получает изображение из Firebase !!
Проблема возникает, когда я пытаюсь получить изображение: -
(1) Например: - Firebase Image name - 1.jpg.
(2) В каталоге документов сохраните изображение с именем firebase, например 1.jpg
(3) Теперь я изменяю FireBase-изображение на другое, но оно сохраняется с именем 1.jpg.
(4) когда я пытаюсь получить изображение, потому что уже 1.jpg находится в каталоге документов, поэтому оно не возвращает мне обновленное изображение, оно показывает мне предыдущее изображение 1.jpg !!
как я могу решить эту проблему. Спасибо
Сохранить и получить код изображения: -
func saveImageDocumentDirectory(imageName: String){
let documentPath = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let imgURL = documentPath.appendingPathComponent(imageName, isDirectory: true)
if !FileManager.default.fileExists(atPath: imgURL.path){
do{
let image = UIImage(named: imgURL.path)
try image?.pngData()?.write(to: imgURL)
}catch let err{
print("error in save:\(err.localizedDescription)")
}
}
}
func getDocumentImage(imageName: String, firebaseImgURL: URL, imgView:UIImageView){
let documentPath = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let imgURL = documentPath.appendingPathComponent(imageName, isDirectory: true)
let image = UIImage(contentsOfFile: imgURL.path)
if image != nil{
imgView.image = image
}else{
imgView.kf.setImage(with: firebaseImgURL)
}
}