【发布时间】:2022-01-16 00:02:51
【问题描述】:
使用 Flutter Web、Firebase 存储、从 Image_Picker 获取 XFile,我正在尝试实现 putData 方法(实际上执行时没有错误)。 putFile 实现对我来说适用于移动设备。我需要将 putData 用于 Web。
这个简化的代码执行没有错误,文件名、日期等都填充到存储中,但没有实际文件(9 个字节显示为大小)。
我从Image_Picker 得到一个 XFile。 Flutterfire 的存储示例中的示例实现也使用了 XFile 和 putData here。
Future<void> _startUpload(XFile file) async {
firebase_storage.FirebaseStorage _storage = firebase_storage.FirebaseStorage.instance;
firebase_storage.UploadTask? _uploadTask;
String filePath = 'filePath';
final metadata = firebase_storage.SettableMetadata(
contentType: 'image/jpeg',
);
Uint8List bytesFile = await file.readAsBytes();
final uploadTask = _storage.ref().child(filePath).putData(bytesFile, metadata);
final snapshot = await uploadTask;
final url = await snapshot.ref.getDownloadURL();
debugPrint('here is the download url: $url');
}
【问题讨论】:
标签: firebase flutter firebase-storage flutter-web flutter-image