All*_*nzi 6 firebase flutter google-cloud-firestore
Cloud FireStore支持Bytes数据类型,但是未能给出如何设置它的示例,我试图在Flutter中将缩略图作为字节上传到FireStore。有人可以举一个例子怎么做吗?
File imageFile;
final databaseReference = Firestore.instance;
await databaseReference
.collection("Users")
.document('${user.strId}')
.setData({'thumbnailPhoto': ???}); // how to convert imageFile to Bytes?
Run Code Online (Sandbox Code Playgroud)
编辑
我认为Richard Heap和Jay Vasan发布的两个答案都可以使用blob,base64Encode实际上在FireStore的key下使用或赋予相同的值thumbnailPhoto。我决定悬赏Richard,因为它隐藏了内部二进制编码的细节。
Cloud Firestore原始字节由BlobDart 表示,因此请使用:
.setData({'thumbnailPhoto', Blob(await file.readAsBytes())});
Run Code Online (Sandbox Code Playgroud)
从Cloud Firestore读回此内容时,您会获得一个Blob。使用访问其字节blob.bytes。例如,要写入文件,请使用:
await file.writeAsBytes(theBlob.bytes); // overwrite or create the file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |