Добавление метаданных в загруженное изображение Firebase / Kotlin - PullRequest
1 голос
/ 03 мая 2020

Я могу загрузить соответствующее изображение посредством вызова:

var uploadTask = firebase_ref.putStream(stream)

Я хочу добавить метаданные к загруженному изображению, поэтому я хочу сделать это внутри вызова putStream:

var uploadTask = firebase_ref.putStream(stream, metadata)

Теперь проблема в том, что я могу импортировать StorageMetadata с помощью этого импорта:

import com.google.firebase.storage.*

Я могу создать объект StorageMetadata, например:

var metadata = StorageMetadata()

I go настроить параметр простого имени для метаданных следующим образом:

metadata.name = "something" 

ОШИБКА: значение val не может быть переназначено

Я посмотрел эту ссылку: https://firebase.google.com/docs/storage/android/upload-files#kotlin + ktx_5

Они предлагают сделать:

var metadata = storageMetadata {
    contentType = "image/jpg"
}

ОШИБКА: неразрешенная эталонная памятьMetadata

Каков наилучший способ настройки простые StorageMetadata и передать его в putStream?

1 Ответ

1 голос
/ 03 мая 2020

Образец Kotlin + KTX, который он показывает, зависит от добавления библиотеки Cloud Storage для Firebase KTX к вашим зависимостям (это то, что говорит вам «KTX»). После того, как вы это сделаете, в вашем коде будет доступен построитель storageMetadata , как показано в документации. Если вы хотите использовать это, обязательно следуйте документации по ссылке здесь. Вы добавите зависимость, которая выглядит следующим образом:

// See maven.google.com for the latest versions
// This library transitively includes the firebase-storage library
implementation 'com.google.firebase:firebase-storage-ktx:$VERSION'

Если вы не хотите использовать библиотеку KTX, вы можете работать с объектом метаданных, используя объект StorageMetadata.Builder как показано в примере Java. StorageMetadata объекты являются неизменяемыми (обратите внимание, что в этом классе нет сеттеров), поэтому вы не можете создать его и просто изменить - вы должны создать его с помощью предоставленного компоновщика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...