flutter 错误:无法将参数类型“Uint8List?”分配给参数类型“Uint8List”

ymdaylpp  于 2022-12-27  发布在  Flutter
关注(0)|答案(1)|浏览(524)

我尝试从flutter web应用程序上传图像到firebase存储,但代码中出现此错误。
无法将参数类型“Uint8List?”赋给参数类型“Uint8List”
我如何解决这个错误?
代码如下所示:

Future<void> pickImage() async
{
  FilePickerResult? result = await FilePicker.platform.pickFiles();

  if (result != null) {
    Uint8List? fileBytes =result.files.first.bytes;
    String fileName = result.files.first.name;
setState(() {
  fname=fileName;
});
    // Upload file
   await FirebaseStorage.instance.ref('images/$fileName').putData(fileBytes);
  var Downloadurl=await FirebaseStorage.instance.ref('images/$fileName').getDownloadURL();
 setState(() {
   imgUrl=Downloadurl;
 });
  }
}

我尝试了html输入元素和图像拾取器包太多,但不能解决这个问题。

gr8qqesn

gr8qqesn1#

如果您确定fileBytes不是null,则可以将其强制转换为Uint8List,如下所示:

await FirebaseStorage.instance.ref('images/$fileName').putData(fileBytes as Uint8List);

相关问题