firebase.firestore.Blob.toBase64()“不是函数” ..但是在文档中

时间:2019-07-13 00:30:07

标签: javascript firebase google-cloud-firestore

根据文档firebase.firestore.Blob.toBase64()可用,但显然我打错了吗?

https://firebase.google.com/docs/reference/js/firebase.firestore.Blob

将小缩略图添加到Firestore数据库(不是Fire Storage) ..尝试使用普通Blob,但Firestore希望您使用

firebase.firestore.Blob.fromBase64String()..可以工作,但是创建了FileReader()无法读取的Blob。所以我使用firestore.Blob创建但无法弄清楚如何对其进行解码?

我可以将它们存储为字符串,但看起来blob小25%,每个字节都很重要。

var thumb = 'iVBORw0KGgoAA...' //base64 img string
var blob = firebase.firestore.Blob.fromBase64String(thumb); //works
var x = firebase.firestore.Blob.toBase64(blob); //is not a function 

也更新到了Firebase 6.3.0。但仍然没有喜悦。 预先感谢

1 个答案:

答案 0 :(得分:2)

对于遇到此问题的其他任何人,这都是直接来自firebase-help的答案。

firebase.firestore.Blob.toBase64()方法是一个非静态Blob方法。您将需要一个firebase.firestore.Blob实例来调用它。另外,toBase64()方法不需要参数。它将Blob的字节作为Base64编码的字符串返回。

// this will work 
var firestoreBlob = firebase.firestore.Blob.fromBase64String(base64String);
console.log("Firestore to base64 again : "+ firestoreBlob.toBase64() );

由于firebase.firestore.Blob.fromBase64String()方法是静态方法,因此您可以在没有blob实例的情况下调用它。请记住,Firestore Blob类型可能与FileReader的必需类型不同。