Возможно, я слишком долго смотрел на это слишком долго сегодня. У меня есть облачная функция, которая автоматически генерирует эскизы для загруженных изображений. После того, как миниатюра загружена, я хотел бы, чтобы вторая функция получала URL миниатюры и URL исходного объекта, чтобы их можно было сохранить в документе.
Когда я пытаюсь выполнить развертывание, я получаю следующую ошибку: src / index.ts: 28: 29 - ошибка TS2339: свойство 'ref' не существует в типе Storage.
Теперь сообщение довольно ясно, но я действительно понятия не имею, что я должен использовать вместо этого. Большая часть того, что я видел в Интернете, показывает ref () как свойство. Любая помощь будет принята с благодарностью!
Эта проблема находится в // получить старый раздел ниже.
import * as functions from "firebase-functions";
import * as admin from "firebase-admin";
const firebase = admin.initializeApp();
export const addNewImageToPlantFile = functions.storage.bucket("users/{userID}/plants/{docID}/images").object().onFinalize(async (object, context) => {
//***ON CREATION OF NEW THUMBNAIL, WRITE TO FILE
//check image name to decide if run
if (object && object.name && object.name.endsWith('_200x200.jpg')) {
const {docID} = context.params;
//get the path of the original image
const split = object?.name.split('_200x200');
const pathFull = split.join();
console.log(pathFull);
//get the url
const urlThumb = object.mediaLink;
console.log(urlThumb);
//get the old
const storage = firebase.storage;
**const reference = storage.ref();**
const imageReference = reference.child(pathFull);
const urlFull = await imageReference.getDownloadURL();
console.log(urlFull);
//*****PACK THE DATA AND UPDATE FILE*****//
//get the time from ID
const time = Number(docID.split('_')[0]);
//pack the data
const data = {
'date': time,
'full': urlFull,
'thumb':urlThumb
};
//update document
return admin.firestore().doc('plants/' + docID).update({
imageSets: admin.firestore.FieldValue.arrayUnion(data)
});
} else {
console.log('Uploaded image is not a thumbnail (_200x200.jpg)');
return
}
//FUNCTION END
});