Справочная информация: Я использую облачные функции Firebase, новую базу данных Firestore и корзину хранения с клиентом Android.
Чего я хочу достичь:
Когда пользователь загружает изображение в хранилище, я хочу использовать облачные функции, чтобы получить путь к файлу / ссылку на местоположение изображения в хранилище и сохранить эту строку в качестве нового документа в новой коллекции под названием «картинки» под в данный момент залогинен в пользовательском документе в Firestore.
Таким образом, я могу видеть изображения, загруженные каждым пользователем непосредственно в Firestore, и это упрощает передачу изображений конкретного пользователя в клиент Android.
То, что я до сих пор выполнил:
1. Когда пользователь входит в систему в первый раз, он создает документ пользователя в новой базе данных Firestore.
2. Зарегистрированный пользователь может загрузить изображение в корзину.
3. Используя Firebase Cloud Functions, мне удалось получить путь к файлу / ссылку на место хранения следующим образом:
/**
* When a user selects a profile picture on their device during onboarding,
* the image is sent to Firebase Storage from a function running on their device.
* The cloud function below returns the file path of the newly uploaded image.
*/
exports.getImageStorageLocationWhenUploaded = functions.storage.object().onFinalize((object) => {
const filePath = object.name; // File path in the bucket.
const contentType = object.contentType; // File content type.
// Exit if this is triggered on a file that is not an image.
if (!contentType.startsWith('image/')) {
console.log('This is not an image.');
return null;
}
console.log(filePath);
});
Вопрос: Как получить зарегистрированного пользователя и сохранить путь к файлу / ссылке для загруженного изображения этого пользователя в качестве нового документа в документах этого пользователя в базе данных Firestore с использованием облачных функций?