Хобрук: Ваш путь к мастерству в программировании

Как обновить узел хранения firebase swift

Я хочу, чтобы узел хранилища FB под uid пользователя (который имеет только один файл данных) был обновлен новыми данными файла. Использование .putData просто добавляет еще один файл в узел, и я не уверен, как использовать вызов .update, поскольку он использует метаданные, и я знаю только, как создать uploadData.

@objc func doneTapped() {

    guard let uid = Auth.auth().currentUser?.uid else {return}
    let filename = NSUUID().uuidString
    let storageRef = Storage.storage().reference().child("profile_images").child(uid)
    let storageFileRef = storageRef.child(filename)

    guard let image = self.profileImageView.image else {return}
    guard let uploadData = UIImageJPEGRepresentation(image, 0.3) else {return}

        storageFileRef.putData(uploadData, metadata: nil) { (metadata, error) in

            if error != nil {
                print ("Couldn't upload new profile pic:", error as Any)
                return
            }
31.08.2018

Ответы:


1

На самом деле я решил проблему, просто удалив имя файла. Итак, в предыдущем случае я создавал папку uid, и в этой папке был бы список изображений, но поскольку я просто хочу сохранить только одно изображение, я сделал этого пользователя uid фактическим именем файла, а не именем папки для хранения файлы.

let storageFileRef = Storage.storage().reference().child("profile_images").child(uid)

В основном просто сбрил часть ссылки .child (filename)

31.08.2018
  • Пожалуйста, примите свой ответ, чтобы он был отмечен зеленой галочкой, и никто не удосужился прочитать вопрос. 31.08.2018
  • Новые материалы

    Как симулировать серию пенальти на Python с помощью симуляции Монте-Карло, часть 1: генерация функций
    Серия пенальти была огромным испытанием во время чемпионата мира по футболу. Они вызвали много споров в социальных сетях и новостных агентствах. Даже финальный матч турнира решался по..

    AST для разработчиков JavaScript
    TL; DR Эта статья - мое выступление на недавно состоявшейся конференции Stockholm ReactJS Meetup. Вы можете посмотреть слайды здесь..

    5 проектов на Python, которые нужно создать прямо сейчас!
    Добро пожаловать! Python — один из моих любимых языков программирования. Если вы новичок в этом языке, перейдите по ссылке ниже, чтобы узнать о нем больше:

    Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
    DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..

    «Очень простой» эволюционный подход к обучению с подкреплением
    В прошлом семестре я посетил лекцию по обучению с подкреплением (RL) в моем университете. Честно говоря, я присоединился к нему официально, но я редко ходил на лекции, потому что в целом я нахожу..

    Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
    Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

    Фишинг — Упаковано и зашифровано
    Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..