Firebase存储将文件引用添加到Firestore

问题描述 投票:0回答:1

我正在尝试获取一个表单上传,用于将数据上传到Firestore数据库以及将图像上传到Firebase存储。

[我个人可以两者兼而有之,但是在存储上载图像的确切URL之外,我似乎无法弄清楚如何以编程方式在我的Firestore中存储对图像的引用。

在控制台中,我可以将类型设置为“参考”enter image description here

但是我以编程方式尝试的任何方法都行不通:

上传图像后上传:

const url = await storageRef.snapshot.ref.getDownloadURL()
let imageRef = storage.ref().child(`test/${this.imageData.filename}`).ref
// let imageRef = storageRef.snapshot.ref
// let imageRef = storage.ref(`test/${this.imageData.name}`)

const docRef = await testImagesCollection.add({
   thumbnail: imageRef,
   dateCreated: firestore.FieldValue.serverTimestamp()
})

alert("upload succeeded", docRef.id)

我通常以:FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom Reference object (found in field thumbnail)]结尾>

如果需要,我只存储URL,但我宁愿不这样做,如果控制台允许我设置引用,我也应该能够以编程方式进行引用?!

我正在尝试获取一个表单上传文件,以将数据上传到Firestore数据库,以及将图像上传到Firebase存储。我可以单独执行这两项操作,但是除了存储...

javascript firebase google-cloud-firestore firebase-storage
1个回答
2
投票

Firestore引用类型仅适用于对其他表示为DocumentReference对象的文档的引用。它们不适用于对Cloud Storage中对象的引用。如果要在Cloud Storage中存储对对象的引用,则应将文件的路径存储在存储桶中(作为字符串,而不是Reference对象)或download URL(以更方便的方式)给你)。

© www.soinside.com 2019 - 2024. All rights reserved.