Мне удалось успешно загрузить изображения в хранилище Firebase, но я не смог успешно загрузить изображение.
Я попытался загрузить изображения всеми тремя из предложенных способов в руководствах по хранению данных Firebase:
1) Загрузить в NSData в памяти 2) Загрузить в NSURL, представляющий файл на устройстве 3)Создайте NSURL, представляющий файл онлайн
Ниже приведен пример двух разных попыток:
func loadProfileImage() {
guard let currentUser = Auth.auth().currentUser else { return }
let profilePhotoFile = "ProfileImages/" + currentUser.uid
let reference = Storage.storage().reference(withPath: profilePhotoFile)
# 1-я попытка загрузки в память:
reference.getData(maxSize: 1 * 1024 * 1024) { (data, error) in
if let error = error {
print("an error occurred: \(error)")
print("see data response: \(data)")
} else {
self.profileView.image = UIImage(data: data!)
}
}
# 2-я попыткас URL-адресом для загрузки:
reference.downloadURL { (url, error) in
if let error = error {
print(error)
} else {
self.profileView.sd_setImage(with: url, placeholderImage:
#imageLiteral(resourceName: "placeHolderProfileView")) {
(image, error, type, reference2) in
print("reference location of image in the google
bucket: \(reference2)")
print("error retrieving image: \(String(describing:
error))")
print("type: \(type)")
print("image details: \(String(describing: image))")
}
}
}
}
Также попытался использовать alamofire вместо SDWebImage, чтобы увидеть, был ли код ошибки таким же, и тот же, см. ниже:
Ошибка домена = FIRStorageErrorDomain Code = -13000 "Произошла неизвестная ошибка, проверьте ответ сервера. "UserInfo = {object = ProfileImages / 6I2RhzFI3edYNph9J4WsaXXXX, ResponseErrorCode = 100, bucket = bXXXX-production.appspot.com, NSLocalizedDescription = Произошла неизвестная ошибка, пожалуйста, проверьте ответ сервера.28 ,acity = 28, bytes = 0x1c1e01bb000000002607f8b040090813 ... 0000200a00000000}, _kCFStreamErrorCodeKey = 100}
Я проверил и перепроверил местоположение корзины хранения Google и считаю, что у меня есть правильное местоположение ссылки (используя то же самое, что и загрузка)путь к файлу, который работает правильно).
Любая помощь будет высоко ценится