如何在 Flutter 中从 Firebase 存储中读取和写入文本文件?

Sam*_*m_V 7 firebase flutter firebase-storage google-cloud-firestore

我需要在 firebase 存储中为我保存的图像进行存储。有没有办法可以在 flutter 中读取和写入 firebase 存储上的在线文本文件?有没有其他方法可以存储我的图像?

小智 6

就是这么简单。让我们通过示例来解释解决方案。

导入库如下:

import package:firebase_storage/firebase_storage.dart' as firebase_storage;
Run Code Online (Sandbox Code Playgroud)

其次,通过以下方式获取 firebase 参考:

firebase_storage.Reference ref = firebase_storage.FirebaseStorage.instance
.ref() 
.child('playground')
.child('/put-string-example.txt');
Run Code Online (Sandbox Code Playgroud)

第三,要从当前所在的文件中获取数据:

Uint8List downloadedData  =  await ref.getData();
Run Code Online (Sandbox Code Playgroud)

第四,现在您将获得一个 Uint8List 格式的值,您必须通过 Utf8Codec 类解码该值,该类是 [Utf8Codec] 默认实现的实例,您将在 String 对象中获得结果:

print(utf8.decode(downloadedData)); 
Run Code Online (Sandbox Code Playgroud)

现在编写起来更容易了:首先,我们有 String 对象:

String putStringText = 'Hello World';
Run Code Online (Sandbox Code Playgroud)

其次,我们使用 firebase ref 对象写入当前文件:

ref.putString(putStringText,
metadata: firebase_storage.SettableMetadata(
contentLanguage: 'en'));
Run Code Online (Sandbox Code Playgroud)

第一个参数是我们的字符串,第二个参数是元数据,它允许您使用一些额外的选项,例如 contentLanguage 参数。

希望对你有帮助。