Flutter Web putData 不放数据

Flutter Web putData doesn't Put the Data

使用 Flutter Web、Firebase 存储、从 Image_Picker 获取 XFile,我正在尝试实现 putData 方法(实际上执行时没有错误)。 putFile 实现对我来说适用于移动设备。我需要为 Web 使用 putData。

此简化代码执行无误,文件名、日期等都填充到存储中,但没有实际文件(大小显示为 9 个字节)。

我从 Image_Picker. The sample implementation from flutterfire's storage example also uses XFile and putData here 获得了一个 XFile。

  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');
  }

只是将此留在这里供以后遇到此问题的用户使用,直到该错误得到修复。 XFile 方法 fromData 无法正常工作 here

这是我的问题。如果您将 cross_file or image_picker 与需要您获得 Xfile.fromData 的裁剪实用程序一起使用,它将在更新之前失败。